feat(migrate): add migrate command with GitHub Actions and Bamboo support#226
Open
Viktor (tiulpin) wants to merge 2 commits into
Open
feat(migrate): add migrate command with GitHub Actions and Bamboo support#226Viktor (tiulpin) wants to merge 2 commits into
Viktor (tiulpin) wants to merge 2 commits into
Conversation
85976f7 to
872cb6d
Compare
872cb6d to
c0c89c6
Compare
c0c89c6 to
211f94d
Compare
211f94d to
f155bea
Compare
f155bea to
71fb1f9
Compare
71fb1f9 to
1d50a6d
Compare
1d50a6d to
25b73dc
Compare
This comment was marked as resolved.
This comment was marked as resolved.
25b73dc to
e08f061
Compare
a061c53 to
46a80c6
Compare
41a2b2d to
bb68f35
Compare
f089f19 to
354843f
Compare
This was referenced Jun 19, 2026
354843f to
2e991a6
Compare
2e991a6 to
808e4b1
Compare
808e4b1 to
00a22dc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First in a series splitting up #217. Foundation + GitHub Actions + Bamboo converters. Rebased onto
mainnow that the shared pipelineschema/schema-cache refactor (#370) and the migrate issue template (#371) have merged.What's in
teamcity migrate: detect → convert → validate → write.tc.yml${bamboo.*}→%param%internal/pipelineschema+cmdutil.FetchOrCachePipelineSchema(refactor(pipeline): extract pipelineschema package and shared schema cache #370)skills/migrate-to-teamcity/covers GHA + Bamboo (mappings, gotchas, schema)teamcity.cli.migrate.completed(source/outcome/validation_status/is_dry_run) and addsmigrateto the command enum. (Thefus-reporting-api-gobump for the anonymized-fieldregexp#hashfix landed in refactor(pipeline): extract pipelineschema package and shared schema cache #370.) Metadata registration tracked in FUS-8018.runs-onderived from the server schema, matrix/expression runners no longer dropped, reusable-workflowwith:/secrets:preserved, Bamboo!include+ nested spec detection, consistent exit codes)Output uses
✓ / ⚠ / ✗per file. Each future CI adds one<ci>.go+ fixture + switch case.Follow-ups
GitLab → Jenkins → CircleCI → Azure → Bitbucket → Travis. Reference branch: #217.
QA
Binaries: https://cli.teamcity.com/pipeline/CLI_CiCd/10884?job=10887&focusLine=1&logView=linear&tab=artifacts&pipelineRunTab=pipeline
# extract the right archive for your OS, then: ./teamcity migrate --helpGitHub Actions:
Bamboo:
Filter to one source:
--from github-actionsor--from bamboo. JSON output:--json.Check that
Manual setup needed:lists triggers / secrets / branch filters / (Bamboo) final-tasks / manual stages — those are intentionally not auto-converted.Skill
migrate-to-teamcityships in the binary; install for your AI agent (Claude Code / Cursor / etc.):Then in the agent, ask it to migrate a repo (e.g. "migrate this Bamboo project to TeamCity"). It should pull the skill, run
teamcity migrate, fix stubs frommappings.md, and surface manual-setup items fromgotchas.md. Remove with./teamcity skill remove migrate-to-teamcity.Test plan
go test ./...golangci-lint runteamcity migrate --dry-runon GHA fixtureteamcity migrate --dry-runon Bamboo fixture