teamcity-cli について
`teamcity` コマンドラインで TeamCity のビルド、ジョブ、プロジェクト、エージェント、パイプラインを扱うためのワークフロースキルです。障害調査やパイプライン変更の手順と注意点をまとめています。
主な機能
- 01ビルドと実行の管理
- 02失敗ログとビルドチェーンの診断
- 03ジョブ、プロジェクト、エージェントの操作
- 04パイプラインの検証と管理
- 05コマンド使用法と安全上の注意
活用シーン
- 01ビルド失敗の根本原因の特定
- 02検証実行の開始と監視
- 03プッシュ前のパイプライン変更の検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jetbrains/ teamcity-cli --skill teamcity-cliインストール後、Claude Code で/teamcity-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
_agents/babysit-build.mdreferences/commands.mdoutput.mdworkflows.md詳細
TeamCity CLI(teamcity)
クイックスタート
teamcity auth status # Check authentication
teamcity run list --status failure # Find failed builds
teamcity run log <id> --failed --raw # Full failure diagnostics
フラグや構文を推測しないでください。 コマンドリファレンスまたはteamcity <command> --helpを使用してください。ビルドは実行(teamcity run)、ビルド構成はジョブ(teamcity job)です。--countは使用せず、--limit(または-n)を使用してください。
注意点
- 複合ビルドのログは空です — 実際の失敗を確認するには、子ビルドを調べてください。
- ビルドチェーンは末端から失敗します — 最も深い階層で失敗した依存関係が根本原因です。
teamcity run tree <id>を使用してください。 --local-changesはKotlin DSLを除外します — 実行前に.teamcity/の変更をプッシュしてください。TEAMCITY_URLでコマンドごとにサーバーを選択します —TEAMCITY_URL=https://cli.teamcity.com teamcity run listは、そのサーバーに保存された認証情報を使用します。上書きするにはTEAMCITY_TOKENを設定してください。- 読み取り専用モードではリモートシェルがブロックされます —
TEAMCITY_RO=1またはサーバーごとのro: trueを設定すると、接続前にagent execとagent termが拒否されます。 - 複数ルートの実行:
--revision ROOT=SHA[@BRANCH]を繰り返します。ROOT=@BRANCHは取得済みのブランチヘッドを使用します。SHAのみを指定すると、すべてのルートがそのSHAに固定されます。 - ログ:
--rawを使用して一時ファイルに出力します。ビルド:開始時には--watchを使用してください。 - VCSトリガーが常に設定されているとは限りません — 修正をプッシュした後、手動でビルドを開始する必要がある場合があります。
pipeline pushは検証を行いません — 必ず先にteamcity pipeline validateを実行してください。- GitHub VCSルートではGitHub App接続を使用してください。
--auth passwordでPATを貼り付けないでください。ワークフローを参照してください。
主なコマンド
オリジンをまたぐダウンロードではリクエストヘッダーが削除されます。HTTPSのダウングレードと、オリジンをまたぐターミナルのリダイレクトは拒否されます。
| 領域 | コマンド |
|---|---|
| 認証 | auth login、logout、status |
| ビルド | run list、view、start、watch、log、cancel、restart、tests、changes、tree |
| アーティファクト | run artifacts、run download |
| メタデータ | run pin/unpin、run tag/untag、run comment |
| ジョブ | job list、view、create、tree、pause/resume、step list/view/add/delete、param list/get/set/delete、settings list/get/set |
| プロジェクト | project list、view、create、tree、param、token put/get、settings export/status/enable |
| VCS/接続 | project vcs list/view/create/delete、project connection list/create/authorize/delete |
| キュー | queue list、approve、remove、top |
| エージェント | agent list、view、enable/disable、authorize/deauthorize、exec、term、reboot、move |
| プール | pool list、view、link/unlink |
| サーバー | server plugin upload(--hot-reloadを任意で指定) |
| パイプライン | pipeline list、view、create、validate、pull、push、schema、delete |
| API | teamcity api <endpoint> — RESTへの直接アクセス |
| リンク | teamcity link — teamcity.tomlを使ってリポジトリを紐付ける |
クイックワークフロー
成果物のダウンロードは --output 内に留まります。ディレクトリから外へ抜けるシンボリックリンクは拒否され、転送に失敗した場合も既存のファイルは保持されます。
各項目の詳細は ワークフロー をご覧ください。
- 失敗を調査する:
run list --status failure→run log <id> --failed --raw→run tests <id> --failed - ビルドチェーンをデバッグする:
run tree <id>→ 最も深い階層にある失敗した子を調べる - 修正して検証する:編集 → プッシュ →
run start --watch(個人用ビルドには--local-changesを使用) - パイプラインのライフサイクル:
pipeline pull <id>→ 編集 →pipeline validate→pipeline push <id>。pipeline schemaを実行すると、サーバーで有効なランナーと機能を含む完全なスキーマを取得できます - GitHub VCS:
connection create github-app→connection authorize→ リポジトリに App をインストール →vcs create --auth token --connection-id <id> - Docker レジストリ:
echo $TOKEN | connection create docker -p <id> --name X --url https://ghcr.io --username U --stdin
参考資料
- コマンドリファレンス — すべてのコマンドとフラグ
- ワークフロー — 失敗の調査、ビルドチェーン、接続、パイプライン
- 出力形式 — JSON、プレーンテキスト、スクリプト
project settings status は、サーバーのランタイムメッセージと不足している DSL コンテキストパラメーターを報告します。「Recorded」のタイムスタンプはステータスが記録された時刻であり、最後に同期が成功した時刻ではありません。
コメント
Markdown 対応