TeamCity RESTAPI リファレンス 2026.1 ヘルプ

完成したビルドを管理する

この記事では、TeamCity RESTAPI を介して完成したビルドを管理する一般的なユースケースについて説明します。

  • ビルドタグの操作。

  • ビルドの固定と固定解除。

  • アーティファクトとビルドパラメーターの取得。

  • ビルドのラベル付け。

ビルドタグの管理

特定のビルドのタグを取得するには、次を使用します。

/app/rest/builds/<buildLocator>/tags

ここで、buildLocatorBuildLocator エンティティです。エンドポイントはタグエンティティで応答します。

新しいタグを追加するには、次を使用します。

/app/rest/builds/<buildLocator>/tags

Tags のいずれかを受け入れます。

<tags> <tag name="tag1"/> <tag name="tag2"/> </tags>
{ "tag": [ { "name": "tag1" }, { "name": "tag2" } ] }

または本文として text/plain タグ名。

既存のタグを置き換えるには、Tags エンティティを経由で送信します

/app/rest/builds/<buildLocator>/tags

ビルドのピン留め

ビルドが固定されているかどうかを確認するには、次を使用します。

/app/rest/builds/<buildLocator>/pin

ビルドを固定するには、次を使用します。

/app/rest/builds/<buildLocator>/pin

このリクエストで送信されたテキスト(text/plain)はコメントとして使用されます。

ビルドの固定を解除するには、次を使用します。

/app/rest/builds/<buildLocator>/pin

このリクエストで送信されたテキスト(text/plain)はコメントとして使用されます。

VCS ラベルを管理する

ビルドの既存の VCS ラベルをすべて検索するには、次を使用します。

/app/rest/builds?locator=<buildLocator>&fields=build(id,vcsLabels:$long)

または、専用のエンドポイントを使用します。

/app/rest/builds/<buildLocator>/vcsLabels?fields=status,text

新しい VCS ラベルを追加するには、次を使用します。

/app/rest/builds/<buildLocator>/vcsLabels?locator=<vcsRootInstanceLocator>&fields=build(id,vcsLabels)

ここで、vcsRootInstanceLocatorVcsRootInstanceLocator と入力されます。リクエストは text/plain を受け入れます。

ビルドアーティファクトを取得する

特定のアーティファクトのコンテンツを取得するには、次を使用します。

/app/rest/builds/<build_locator>/artifacts/content/<path>

ここで、path は、ビルドのアーティファクトのルートとして空にすることも、ビルドのアーティファクト内のパスにすることもできます。path は、dir/path/archive.zip!/path_within_archive などのアーカイブコンテンツにまたがることができます。

応答の Media-Type は通常、application/octet-stream またはより具体的なタイプ(アーティファクトファイル拡張子によって決定されます)です。

ファイルのメタデータを取得するには、次を使用します。

/app/rest/builds/<build_locator>/artifacts/metadata/<path>

ディレクトリまたはアーカイブのすべての子アイテムをフェッチするには、次を使用します。

/app/rest/builds/<build_locator>/artifacts/children/<path>

特定のアーカイブされたサブパスをダウンロードするには、次を使用します。

/app/rest/builds/<build_locator>/artifacts/archived/<path>?locator=pattern:<wildcard>

オプションのロケーターのパラメーターは wildcard であり、ワイルドカードに一致するファイルのみにファイルを制限できます。artifact relative name は、アーカイブ名の後に !/ 区切り文字を使用して、アーカイブ内のファイルを参照することをサポートしています。

応答の Media-Typeapplication/zip です。

サンプル

  • すべての zip アーカイブを 1 つの .zip にまとめてダウンロードします。path は空なので、アーティファクトはルートアーティファクトディレクトリからダウンロードされます。ターゲットビルドは、ID が「7703」の特定のビルドです。

    /app/rest/builds/7703/artifacts/archived/?locator=pattern:*.zip
  • bin/debug フォルダーの 3 つの特定のファイルを 1 つの「production.zip」アーカイブに結合してダウンロードします。アーティファクトは、最新の正常に完了したビルドからダウンロードされます。

    /app/rest/builds/buildType:MyProject_MyConfig,status:SUCCESS,state:finished/artifacts/archived/bin/debug?locator=pattern:(mylib.dll,setup.cfg,setup.log)&name=production.zip
  • 「result.zip」アーカイブの「subfolder1/subfolder2」ディレクトリ内に保存されているファイルをダウンロードします。

    app/rest/builds/buildType:MyProject_MyConfig,status:SUCCESS,state:finished/artifacts/archived/result.zip!/subfolder1/subfolder2?locator=pattern:textfile1.txt

完成したビルドのビルドパラメーターを取得する

特定の完成したビルドの結果のビルドパラメーターを取得するには、次を使用します。

/app/rest/builds/id:<build_id>/resulting-properties