TeamCity 2020.2 ヘルプ

REST API リファレンス

プロジェクトとビルド構成 / テンプレートリスト

プロジェクト一覧
GET http://teamcity:8111/app/rest/projects
プロジェクトの詳細
GET http://teamcity:8111/app/rest/projects/<projectLocator>

ここで、<projectLocator>id:<internal_project_id> または name:<project%20name> です。

ビルド構成のリスト
GET http://teamcity:8111/app/rest/buildTypes
プロジェクトのビルド構成のリスト
GET http://teamcity:8111/app/rest/projects/<projectLocator>/buildTypes

概要ページで指定されたユーザーが構成したサブプロジェクトのビルド構成データとその順序でプロジェクトを取得します

GET http://teamcity:8111/app/rest/projects?locator=selectedByUser:current&fields=count,project(id,parentProjectId,projects(count,project(id),$locator(selectedByUser:current)),buildTypes(count,buildType(id),$locator(selectedByUser:current)))
特定のプロジェクトのテンプレートのリスト
GET http://teamcity:8111/app/rest/projects/<projectLocator>/templates
サーバー上のすべてのテンプレートのリスト
GET http://teamcity:8111/app/rest/buildTypes?locator=templateFlag:true

プロジェクト設定

プロジェクトの詳細を取得する

GET http://teamcity:8111/app/rest/projects/<projectLocator>

プロジェクトを削除する

DELETE http://teamcity:8111/app/rest/projects/<projectLocator>

新しい空のプロジェクトを作成する

POST plain text (name) to http://teamcity:8111/app/rest/projects/

プロジェクトを作成(またはコピー)する

POST XML <newProjectDescription name='New Project Name' id='newProjectId' copyAllAssociatedSettings='true'><parentProject locator='id:project1'/><sourceProject locator='id:project2'/></newProjectDescription>

http://teamcity:8111/app/rest/projects

も参照してください。

プロジェクトパラメーターを編集する

GET/DELETE/PUT http://teamcity:8111/app/rest/projects/<projectLocator>/parameters/<parameter_name>

プレーンテキスト、XML および JSON を受け入れます。「Accept」ヘッダーに応じて、XML、JSON、プレーンテキストを生成します。

サポートされるリクエスト: .../parameters/<parameter_name>/name および .../parameters/<parameter_name>/value

プロジェクト名 / 説明 / アーカイブされたステータス

GET/PUT http://teamcity:8111/app/rest/projects/<projectLocator>/<field_name>

ここで、<field_name>name , description , archived の 1 つです。

テキスト / プレーンを受け入れる / 生成します。

プロジェクトの親プロジェクト

GET/PUT XML http://teamcity:8111/app/rest/projects/<projectLocator>/parentProject

プロジェクトの特徴

プロジェクト機能(課題追跡、バージョン管理設定、カスタムチャート、共有リソース、サードパーティのレポートタブなど)は、" プロジェクト " ノードのエントリとして、専用のリクエストを介して公開されます。

プロジェクト機能のリスト

http://teamcity:8111/app/rest/projects/<projectLocator>/projectFeatures

機能をフィルターするには、?locator=<projectFeaturesLocator> を URL に追加します。たとえば、GitHub タイプのすべての課題追跡機能を見つけるには、ロケーター type:IssueTracker,property(name:type,value:GithubIssues) を使用します。

フィーチャーを作成する

POST/projects/<projectLocator>/projectFeatures

フィーチャーの編集

GET/DELETE/PUT http://teamcity:8111/app/rest/projects/<projectLocator>/projectFeatures/<featureId>

VCS のルート

すべての VCS ルートを一覧表示する

GET http://teamcity:8111/app/rest/vcs-roots

一致した VCS ルートのみをリストするには、locator=<vcsRootLocator> パラメーターを追加します。

VCS ルートの詳細を取得 / VCS ルートを削除

GET/DELETE http://teamcity:8111/app/rest/vcs-roots/<vcsRootLocator>

ここで、<vcsRootLocator>id:<internal VCS root id> または他の VCS ルートロケータです。

新しい VCS ルートを作成する

POST VCS root XML (VCS ルート詳細の GET リクエストで取得したものと同様)から http://teamcity:8111/app/rest/vcs-roots (英語) へ。

また支えられる:

ここで、<field_name>id , name , project です(プロジェクトロケーターを project にポストして、VCS ルートを特定のプロジェクトに関連付けます)。

VCS ルートインスタンスのリスト *

GET http://teamcity:8111/app/rest/vcs-root-instances?locator=<vcsRootInstancesLocator>

TeamCity 10.0 以降 :

バージョン管理リポジトリのコミットフックでの使用専用の 2 つのエンドポイントがあります。POST http://teamcity:8111/app/rest/vcs-root-instances/checkingForChangesQueue?locator=<vcsRootInstancesLocator> (英語)

一致した VCS ルートインスタンスの変更のチェックをスケジュールし、一致した VCS ルートインスタンスのリストを返します。( GET と同じ http://teamcity:8111/app/rest/vcs-root-instances?locator=<vcsRootInstancesLocator> (英語) ): POST http://teamcity:8111/app/rest/vcs-root-instances/commitHookNotification?locator=<vcsRootInstancesLocator> (英語)

一致した VCS ルートインスタンスの変更のチェックをスケジュールし、実行されたアクションに関する平文の判読可能なメッセージ、操作が成功した場合は HTTP レスポンス 202 を返します。

どちらも「変更の確認」プロセスのためにキューに対して同じアクション( <locator> によって一致した VCS ルートインスタンスを配置)を実行し、それらが生成する応答のみが異なります。

一致した VCS ルートインスタンスは ../app/rest/vcs-root-instances?locator=<locator> 要求の場合と同じであり、デフォルトでは最初の 100 個だけが一致しますとそれ以外は無視されることに注意してください。この制限に達した場合は、より少ないインスタンスに一致するように <locator> を微調整するか(推奨)、またはロケーターに ,count:1000 を追加するなどして制限を増やすことを検討してください。

VCS ルートインスタンスロケータ

上から <vcsRootInstancesLocator> をサポートしているものがあります。

  • type:<VCS root type> –指定されたバージョン管理の VCS ルートインスタンス(たとえば、jetbrains.git , mercurial , svn)。

  • vcsRoot:(<vcsRootLocator>) - <vcsRootLocator> によって一致した VCS ルートに対応する VCS ルートインスタンス。

  • buildType:(<buildTypeLocator>) - 一致するビルド構成にアタッチされた VCS ルートインスタンス。

  • property:(name:<name>,value:<value>,matchType:<matching>) - 名前 <name> のプロパティと値 <value> による値一致条件 <matchType> (たとえば、equals、contains)を持つ VCS ルートインスタンス。

クラウドプロファイル

TeamCity REST API は、TeamCity UI で提供されるものと同じクラウド統合の詳細を公開します。

すべてのクラウドプロファイルを一覧表示する

GET http://teamcity:8111/app/rest/cloud/profiles

すべてのクラウドイメージを一覧表示します

GET http://teamcity:8111/app/rest/cloud/images

すべてのクラウドインスタンスを一覧表示する

GET http://teamcity:8111/app/rest/cloud/instances

新しいインスタンスを開始する

POST http://teamcity:8111/app/rest/cloud/instances

ポストされた XML / JSON コンテンツは、1 つのインスタンスに対して GET によって返されるものと同じです。

インスタンスの XML の例:

<cloudInstance id="profileId:<profileId>,imageId:<imageId>,id:<instanceId>" name="<instanceName>"> <image id="profileId:<profileId>,id:<imageId>" name="<imageName>"/> </cloudInstance>

実行中のインスタンスを停止する

DELETE http://teamcity:8111/app/rest/cloud/instances/<instanceLocator>

ビルド構成とテンプレート設定

ビルド構成 / テンプレートの詳細を取得する

GET http://teamcity:8111/app/rest/buildTypes/<buildConfigurationLocator>

ビルド構成ロケーターの詳細を参照してください。

TeamCity での設定編集のサポートなど、トランザクションがないため、REST API を介して変更されたすべての設定は一度に考慮されます。これにより、半構成のビルドがトリガされるなどの課題が発生する可能性があります。この点があなたのケースにとって重要であるなら、その設定を変更する前にビルド設定を一時停止することを確認してください。

複数のビルド構成の集計ステータスを取得するには、ビルド状況アイコンセクションを参照してください。

一時停止したビルド構成状態を取得 / 設定します

GET/PUT http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/paused

true または false テキストを text / plain として配置します。

ビルド構成設定

GET/DELETE/PUT http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/settings/<setting_name>

ビルド構成パラメーター

GET/DELETE/PUT http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/parameters/<parameter_name>

Accept ヘッダーに応じて XML、JSON、プレーンテキストを生成し、プレーンテキスト、XML、JSON を受け入れます。 .../parameters/<parameter_name>/name および .../parameters/<parameter_name>/value リクエストもサポートされています。

ビルド構成手順

GET/DELETE http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/steps/<step_id>

ビルド構成ステップの作成

POST http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/steps

ポストされた XML / JSON は、パスワードなどの安全な設定を除いて、.../steps/<step_id> への GET リクエストで取得したものと同じです。これらは応答に含まれず、POST する前に提供する必要があります。

機能、トリガー、エージェントの要件、アーティファクト、スナップショットの依存関係は、それぞれの URL を使用した手順(上記)と同じパターンに従います

http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/features/<id> http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/triggers/<id> http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/agent-requirements/ http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/artifact-dependencies/<id> http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/snapshot-dependencies/<id>

TeamCity 10 以降、アーティファクトの依存関係およびエージェントの要件を無効化 / 有効化することが可能です。

アーティファクト依存関係を無効 / 有効にする

PUT http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/artifact-dependencies/<id>/disabled

true または false テキストを text / plain として配置します。

ビルド VCS ルート

GET/DELETE http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/vcs-root-entries/<id>

VCS ルートをビルド構成にアタッチする

POST http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/vcs-root-entries

ポストされた XML / JSON は、パスワードなどの安全な設定を除いて、 http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/vcs-root-entries/<id> (英語) への GET リクエストで取得したものと同じです。これらは応答に含まれず、POST する前に提供する必要があります。

すべての設定で新しいビルド構成を作成する

POST http://teamcity:8111/app/rest/buildTypes

投稿された XML / JSON は、GET リクエストによって取得されたものと同じです。 /app/rest/project/XXX/buildTypes はまだ以前のバージョンの表記法を使用しており、別のエンティティを受け入れます。

新しい空のビルド構成を作成する

POST プレーンテキスト(名前)から http://teamcity:8111/app/rest/projects/<projectLocator>/buildTypes (英語) へ。

ビルド構成をコピーする

POST XML <newBuildTypeDescription name='Conf Name' sourceBuildTypeLocator='id:XXX' copyAllAssociatedSettings='true' shareVCSRoots='false'/>

http://teamcity:8111/app/rest/projects/<projectLocator>/buildTypes (英語)

テンプレートとの間でビルド構成を読み取り、接続解除、接続する

TeamCity 2017.2 以降 :

GET/DELETE/POST/PUT http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/templates

TeamCity 2017.2 の前 :

GET/DELETE/POST/PUT http://teamcity:8111/app/rest/buildTypes/<buildTypeLocator>/template

Put は、text/plain Content-Type を持つテンプレートロケーターを受け入れます。

ビルド番号カウンターを設定する

curl -v --basic --user <username>:<password> --request PUT http://<teamcity.url>/app/rest/buildTypes/<buildTypeLocator>/settings/buildNumberCounter --data <new number> --header "Content-Type: text/plain"

ビルド番号の形式を設定する

curl -v --basic --user <username>:<password> --request PUT http://<teamcity.url>/app/rest/buildTypes/<buildTypeLocator>/settings/buildNumberPattern --data <new format> --header "Content-Type: text/plain"

ビルド構成ロケーター

<buildTypeLocator> に最も頻繁に使用される値は id:<buildConfigurationOrTemplate_id>name:<Build%20Configuration%20name> です。

TeamCity 2017.2 以降実験 タイプのロケーターは、regular , composite または deployment のいずれかの値でサポートされます。

その他のサポートされている寸法は次のとおりです(これらは実験状態です)。

  • internalId - ビルド構成の内部 ID

  • project - ビルド構成を単一のプロジェクトに属するものに限定する <projectLocator>

  • affectedProject - 単一プロジェクト下のビルド構成を(再帰的に)制限する <projectLocator>

  • template - テンプレートを使用したビルド構成のみをリストするテンプレートの <buildTypeLocator>

  • templateFlag - テンプレートのみまたは非テンプレートのみを取得するためのブール値。

  • paused - 一時停止 / 一時停止していないビルド構成をフィルタリングするためのブール値。

ビルドリクエスト

ビルドの一覧表示

GET http://teamcity:8111/app/rest/builds/?locator=<buildLocator>

特定のビルドの詳細を取得する

GET http://teamcity:8111/app/rest/builds/<buildLocator>

ビルドを削除するために DELETE もサポートします。

各ビルド構成で最後に完了したビルドのステータスを含むプロジェクトのビルド構成のリストを取得します

GET http://teamcity:8111/app/rest/buildTypes?locator=affectedProject:(id:ProjectId)&fields=buildType(id,name,builds($locator(running:false,canceled:false,count:1),build(number,status,statusText)))

ビルドロケーター

ビルド関連のリクエストでロケーターを使用すると、ビルド関連のリクエストで返されるビルドをフィルタリングできます。これは、RESTAPI のスコープではビルドロケーターと呼ばれます。

一部の要求では、デフォルトのフィルタリングが適用されます。ただし、これらのタイプの場合を除いて、「通常の」ビルド(キャンセルされず、開始に失敗せず、個人用ではない)、デフォルトのブランチのみが返されます。ビルドはロケータを介して明確に要求されます。このデフォルトのフィルターを無効にしてすべてのビルドを処理するには、defaultFilter:false ディメンションをビルドロケータに追加します。デフォルトのフィルタリングは、指定されたロケーターの寸法によって異なります。例: agent または user 寸法が存在する場合、個人用、キャンセル済み、ビルドの開始に失敗したことが結果に含まれます。

サポートされているビルドロケータの例:

  • id:<internal build id> - 特定のビルドを参照する必要があるときは、内部ビルド ID を使用してください。

  • number:<build number> - ビルド構成がすでに指定されている場合、ビルド番号でビルドを検索します。

  • <dimension1>:<value1>,<dimension2>:<value2> - 複数の基準でビルドを見つけます。

サポートされているビルドロケーターの寸法のリスト:

  • project:<project locator> - リストを指定されたプロジェクトのビルド(プロジェクトの直下にある任意のビルドタイプに属する)に限定します。

  • affectedProject:<project locator> - リストを指定されたプロジェクトのビルドに限定する (プロジェクトで直接的または間接的に任意のビルドタイプに属する)

  • buildType:(<buildTypeLocator>),defaultFilter:false - 指定されたビルド構成のすべてのビルド

  • tag:<tag>TeamCity 10 以降、タグ付きビルドを取得します。 tag:<tag1> , tag:<tag2> などのタグのリストが指定されている場合、指定されたすべてのタグを含むビルドのみが返されます。互換性のために、レガシー tags:<tags> ロケーターがサポートされています。

  • status:<SUCCESS/FAILURE/UNKNOWN> - リストは指定された状況でのみ作成されます。

  • user:(<userLocator>) - 制限は、指定されたユーザーによって引き起こされたものだけに構築されます。

  • personal:<true/false/any> - 個人旗による建造制限。デフォルトでは、個人用ビルドは含まれていません。

  • canceled:<true/false/any> - 制限は取り消されたフラグによって構築されます。デフォルトでは、キャンセルされたビルドは含まれません。

  • failedToStart:<true/false/any> –開始失敗フラグによるビルドの制限。デフォルトでは、ビルドの開始に失敗したものは含まれません。

  • state:<queued/running/finished> - 制限は指定された状態で構築されます。

  • running:<true/false/any> - 実行フラグによるビルド制限。デフォルトでは、実行中のビルドは含まれていません。

  • state:running,hanging:true - ぶら下がっているビルドを取得します(TeamCity 10.0 以降)。

  • pinned:<true/false/any> - 制限はピン留めされたフラグによって構築されます。

  • branch:<branch locator> –ブランチによるビルドを制限します。 <branch locator> は、UI に表示されるブランチ名、または (name:<name>,default:<true/false/any>,unspecified:<true/false/any>,branched:<true/false/any>) にすることができます。デフォルトでは、デフォルトのブランチからのビルドのみが返されます。すべてのビルドを取得するには、次の locator: branch:default:any を追加します。パス全体は次のようになります: /app/rest/builds/?locator=buildType:One_Git,branch:default:any

  • revision:<REVISION> - リビジョンごとにビルドを検索します。たとえば、指定されたビルド構成のリビジョン /app/rest/builds?locator=revision:(REVISION),buildType:(id:BUILD_TYPE_ID) のすべてのビルドを検索します。より多くの情報を参照してください以下を。

  • agentName:<name> - ビルドのみを返すエージェント名が、指定された名前のエージェントで実行されました。

  • sinceBuild:(<buildLocator>) - 指定されたビルドの後のものだけにビルドのリストを制限する

  • sinceDate:<date> - 指定された日付以降に開始されたものだけにビルドのリストを制限します。日付は、REST API によって返される日付と同じ形式でなければなりません(たとえば、20130305T170030+0400)。

  • queuedDate/startDate/finishDate:(date:<time-date>,build:<build locator>,condition:<before/after>) - ビルドロケーターで指定された時間に基づいてビルドをフィルター処理します。たとえば、11 月以降に終了したビルドは 23, 2017, 20:34:46、GMT + 1 はタイムゾーン使用: finishDate:(date:20171123T203446%2B0100,condition:after)

  • count:<number> - 指定された数のビルドだけを提供します。

  • start:<number> - 指定された位置から始まるリストからビルドをリストします(ゼロから始まる)。

  • lookupLimit:<number> –処理を最新の N ビルドのみに制限します(デフォルトは 5000 です。最新の N ビルドのいずれもビルドロケーターの他の指定された基準に一致しない場合、単一のビルド要求に対して 404 応答が返され、複数のビルド要求に対して空のコレクションが返されます。を参照してください。関連するメモ

キュービルド

ビルドキューを取得する

GET http://teamcity:8111/app/rest/buildQueue

サポートされているロケータ

  • project:<locator>
  • buildType:<locator>

キューに入れられたビルドの詳細を取得する

GET http://teamcity:8111/app/rest/buildQueue/id:XXX

スナップショット依存関係を持つキュービルドの場合、リビジョンが修正されていれば、キュービルドノードの revisions 要素でそのリビジョンを利用できます(スナップショット依存関係のない通常のビルドではそうではありません)。

キューに入れられたビルドの互換性のあるエージェントを入手する (「エージェントなし」で実行するビルドに役立ちます)

GET http://teamcity:8111/app/rest/buildQueue/id:XXX/compatibleAgents

サンプル :

プロジェクトごとにキューに入れられたビルドを一覧表示する

GET http://teamcity:8111/app/rest/buildQueue?locator=project:<locator>

ビルド構成ごとにキューに入れられたビルドを一覧表示する

GET http://teamcity:8111/app/rest/buildQueue?locator=buildType:<locator>

ビルドを開始する

ビルドを開始するには、"build" ノード(下記参照)をコンテンツに含めて POST 要求を http://teamcity:8111/app/rest/buildQueue (英語) に送信します - キューに入れられたビルドまたは完成したビルドの詳細と同じノードです。キューに入れられたビルドの詳細が返されます。

ビルドが開始されると、キューに入れられたビルド(/app/rest/buildQueue/XXX)への要求は、実行中または終了したビルドデータを返します。このようにして、ビルドが state="finished" 属性を持つまで、ビルドのトリガー時に返されるビルド詳細の href 属性を使用してビルドの詳細を照会することで、ビルドの完成度を監視できます。

ビルドノードの例

ビルド構成の基本ビルド

<build> <buildType id="buildConfID"/> </build>

個人用としてマークされた固定エージェント、コメント、カスタムパラメーターでブランチを構築します。

<build personal="true" branchName="logicBuildBranch"> <buildType id="buildConfID"/> <agent id="3"/> <comment><text>build triggering comment</text></comment> <properties> <property name="env.myEnv" value="bbb"/> </properties> </build>

エージェントプールへのキュービルドビルド割り当て

<build>... <agent> <pool id="N"/> </agent> ... </build>

与えられたリビジョンの変更に基づいてビルドし、ビルド前にすべての依存関係とクリーンなソースを強制的に再ビルドし、トリガー時にビルドキュートップに移動しました。(変更は既に TeamCity に認識されている必要があることに注意してください(ビルド構成の UI に表示されます。"lastChanges" 要素の詳細)。

<build> <triggeringOptions cleanSources="true" rebuildAllDependencies="true" queueAtTop="true"/> <buildType id="buildConfID"/> <lastChanges> <change locator="version:a286767fc1154b0c2b93d5728dd5bbcdefdfaca,buildType:(id:buildConfID)"/> </lastChanges> </build>

ビルドをトリガーするためのコマンドラインの例:

curl -v -u user:password http://teamcity.server.url:8111/app/rest/buildQueue --request POST --header "Content-Type:application/xml" --data-binary @build.xml

ビルドタグ

タグを取得する

GET http://teamcity:8111/app/rest/builds/<buildLocator>/tags/

タグを置き換える

PUT http://teamcity:8111/app/rest/builds/<buildLocator>/tags/

GET によって返されるものと同じ XML または JSON を入力します。

タグを追加

POST http://teamcity:8111/app/rest/builds/<buildLocator>/tags/

GET によって返されるのと同じ XML または JSON、またはプレーンテキストのタグ名を投稿します。ここの <buildLocator> は、単一のビルドのみと一致する必要があります。

2 つのタグの XML の例:

<tags> <tag name="<tag1>"/> <tag name="<tag2>"/> </tags>

ビルドピン留め

現在のピンの状態を取得する

GET http://teamcity:8111/app/rest/builds/<buildLocator>/pin/

ビルドを固定する

PUT http://teamcity:8111/app/rest/builds/<buildLocator>/pin/

リクエストデータ内のテキストは、アクションのコメントとして追加されます。

ビルドの固定を解除する

DELETE http://teamcity:8111/app/rest/builds/<buildLocator>/pin/

リクエストデータのテキストは、アクションのコメントとして追加されます。ここの <buildLocator> は、単一のビルドのみと一致する必要があります。

ビルドキャンセル / 停止

キューに入れられたビルドをキャンセルする

キューに入れられたビルドの URL に <buildCancelRequest comment='CommentText' readdIntoQueue='false'/> アイテムを POST します。例:

curl -v -u user:password --request POST "http://teamcity:8111/app/rest/buildQueue/<buildLocator>" --data "<buildCancelRequest comment='' readdIntoQueue='false' />" --header "Content-Type: application/xml"

実行中のビルドを停止し、キューに読み込みます

<buildCancelRequest comment='CommentText' readdIntoQueue='true' /> アイテムを実行中のビルドの URL に POST します。例:

curl -v -u user:password --request POST "http://teamcity:8111/app/rest/builds/<buildLocator>" --data "<buildCancelRequest comment='' readdIntoQueue='true' />" --header "Content-Type: application/xml"

readdIntoQueuefalse に設定して、キューに再読み込みせずにビルドを停止します。

ビルドアイテムの canceledInfo 要素を参照してください

GET http://teamcity:8111/app/rest/builds/<buildLocator> から入手できます。

ビルドアーティファクト

<build_locator> によって決定されたビルドのビルドアーティファクトファイルのコンテンツを返す

GET http://teamcity:8111/app/rest/builds/<build_locator>/artifacts/content/<path>

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

  • Media-Type:application / octet-stream、またはより具体的なメディアタイプ(アーティファクトファイル拡張子から決定されます)。

  • 考えられるエラー:指定されたパスがディレクトリを参照している場合は 400。

ビルドアーティファクトに関する情報を返す

GET http://teamcity:8111/app/rest/builds/<build_locator>/artifacts/metadata/<path>
  • メディアタイプ:application / xml または application / json。

ディレクトリとアーカイブのアーティファクトの子のリストを返します

GET http://teamcity:8111/app/rest/builds/<build_locator>/artifacts/children/<path>
  • メディアタイプ:application / xml または application / json。

  • 考えられるエラー:アーティファクトがディレクトリでもアーカイブでもない場合は 400。

指定されたパスにあるアーティファクトのリストを含むアーカイブを返します

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

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

  • メディアタイプ:application / zip

  • 考えられるエラー:アーティファクトがディレクトリでもアーカイブでもない場合は 400。

サンプル :

GET http://teamcity:8111/app/rest/builds/id:100/artifacts/children/my-great-tool-0.1.jar!/META-INF GET http://teamcity:8111/app/rest/builds/buildType:(id:Build_Intallers),status:SUCCESS/artifacts/metadata/my-great-tool-0.1.jar!/META-INF/MANIFEST.MF GET http://teamcity:8111/app/rest/builds/buildType:(id:Build_Intallers),number:16.7.0.2/artifacts/metadata/my-great-tool-0.1.jar!/lib/commons-logging-1.1.1.jar!/META-INF/MANIFEST.MF GET http://teamcity:8111/app/rest/builds/buildType:(id:Build_Intallers),tag:release/artifacts/content/my-great-tool-0.1.jar!/lib/commons-logging-1.1.1.jar!/META-INF/MANIFEST.MF

認証

TeamCity ビルド内からアーティファクトをダウンロードする場合は、アーティファクトのダウンロード要求の資格情報として teamcity.auth.userId/teamcity.auth.password システムプロパティの使用することを検討してください。このようにして、TeamCity は、あるビルドが別のビルドのアーティファクトを使用したことを記録し、ビルドの依存関係タブに表示します。

その他のビルド要求

変更

<changes> は、TeamCityUI のビルドの変更に表示されるのと同じ方法で変更を表すことを目的としています。ほとんどの場合、これらは現在のビルドと以前のビルド間のコミットです。 <changes> タグはデフォルトではビルドに含まれず、href 属性のみがあります。 href で指定されたリクエストを実行すると、必要な変更が加えられます。

ビルドに含まれるすべての変更のリストを取得する

GET http://teamcity:8111/app/rest/changes?locator=build:(id:<buildId>)

個別の変更の詳細を取得する

GET http://teamcity:8111/app/rest/changes/id:changeId

変更されたファイルアクションに関する情報を取得する

ファイルのノードには、変更されたファイルがリストされます。変更されたファイルアクションに関する情報は、added , edited , removed , copied または unchanged としてリストされているファイルの changeType 属性を介して報告されます。

すべての変更をロケーターでフィルター

GET http://teamcity:8111/app/rest/changes?locator=<changeLocator>

プロジェクトのすべての変更を取得する

GET http://teamcity:8111/app/rest/changes?locator=project:projectId

ID で識別される特定の変更以降のビルド構成のすべての変更を取得します

http://teamcity:8111/app/rest/changes?locator=buildType:(id:buildConfigurationId),sinceChange:(id:changeId)

ビルド構成の保留中の変更を取得する

http://teamcity:8111/app/rest/changes?locator=buildType:(id:BUILD_CONF_ID),pending:true

<lastChanges> タグには、ビルドに含まれる最後のコミットに関する情報が含まれています。ビルドをトリガーする場合、そのネストされた <change> 要素には、ビルドのトリガーに使用する変更を指定する locator フィールドを含めることができます。

リビジョン

<revisions> タグは、TeamCity UI のビルドの変更タブのリビジョンテーブルと同じです。エージェント上のビルドによってチェックアウトされる、このビルドに関連付けられているすべての VCS リポジトリのリビジョンを一覧表示します。改訂は、TeamCity に知られている変更に対応する場合と対応しない場合があります。例:新しく作成されたビルド設定と VCS ルートの場合、リビジョンに対応する変更はありません。

指定されたリビジョンのすべてのビルドを取得します

GET http://teamcity:8111/app/rest/builds?locator=revision(version:XXXX)

TeamCity 10 以降<versionedSettingsRevision> は、ビルドのバージョン対応設定の改訂を表すために追加されます。

スナップショットの依存関係

ID XXXX のビルドのビルドチェーンアップストリームですべてのスナップショット依存関係ビルドを見つけます。

GET http://teamcity:8111/app/rest/builds?locator=snapshotDependency:(to:(id:XXXX),includeInitial:true),defaultFilter:false

ID XXXX のビルドのすべてのビルドチェーンダウンストリームで、スナップショットに依存するすべてのビルドを見つけます。

GET http://teamcity:8111/app/rest/builds?locator=snapshotDependency:(from:(id:XXXX),includeInitial:true),defaultFilter:false

アーティファクトの依存関係

TeamCity 10.0.3 以降、実験的な機能があります:

指定された ID のビルドからアーティファクトをダウンロードしたすべてのビルドを取得します (TeamCity Web UI で提供されるアーティファクト)

GET http://teamcity:8111/app/rest/builds?locator=artifactDependency:(from:(id:<build ID>),recursive:false)

指定された ID のビルドによってアーティファクトがダウンロードされたすべてのビルドを取得します (TeamCity Web UI でダウンロードされたアーティファクト)

GET http://teamcity:8111/app/rest/builds?locator=artifactDependency:(to:(id:<build ID>),recursive:false)

VCS ラベル

ビルドの VCS ラベルを取得する

vcsLabels フィールドを追加することによって:

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

または別のリクエストを介して:

GET http://teamcity:8111/app/rest/builds/<buildLocator>/vcsLabels?fields=status,text

ビルドに VCS ラベルを追加する

POST http://teamcity:8111/app/rest/builds/<buildLocator>/vcsLabels?locator=<vcsRootInstanceLocator>&fields=build(id,vcsLabels)

ここで、locator はオプションであり、ラベルを配置する場所を指定します。指定しない場合、VCS ルートのすべてのインスタンスにラベルが追加されます。

ビルドパラメーター

ビルドのパラメーターを取得する

GET http://teamcity:8111/app/rest/builds/id:<build_id>/resulting-properties

フィールドをビルド

単一のビルドのフィールドを取得する

GET http://teamcity:8111/app/rest/builds/<buildLocator>/<field_name>

これは、<field_name>number , status , id , branchName の 1 つである text / plain と他のビルドの bean 属性を受け入れ / 生成します。

統計

1 つのビルドの統計を取得する

GET http://teamcity:8111/app/rest/builds/<buildLocator>/statistics/

標準 / バンドルされた統計値のみがリストされます。カスタムチャートも参照してください。

単一のビルド統計値を取得する

GET http://teamcity:8111/app/rest/builds/<buildLocator>/statistics/<value_name>

ビルドのリストの統計を取得する

GET http://teamcity:8111/app/rest/builds?locator=BUILDS_LOCATOR&fields=build(id,number,status,buildType(id,name,projectName),statistics(property(name,value)))

ビルドログ

REST リクエストによるビルドログのダウンロードはサポートされていませんが、ここに記載されているログファイルをダウンロードする方法があります。

テストと構築の問題

ビルドの問題を一覧表示する

GET http://teamcity:8111/app/rest/problemOccurrences?locator=build:(BUILD_LOCATOR)

テストの一覧表示

GET http://teamcity:8111/app/rest/testOccurrences?locator=<locator dimension>:<value>

サポートされているロケーター :

  • build:(<build locator>) - ビルドでテスト実行

  • build:(<build locator>),muted:true - ビルドでミュートされたテストに失敗しました。

  • currentlyFailing:true,affectedProject:<project_locator> - 指定されたプロジェクトで現在失敗しているテスト(再帰的)。

  • currentlyMuted:true,affectedProject:<project_locator> –指定されたプロジェクトで現在再帰的にミュートされているテスト。プロジェクトのミュート問題タブも参照してください。

  • includePersonal:true - パーソナルビルドからのテストを含めます。

サンプル :

すべてのビルドのテストをリストする

GET http://teamcity:8111/app/rest/testOccurrences?locator=build:<buildLocator>

個別のテスト履歴を取得する

GET http://teamcity:8111/app/rest/testOccurrences?locator=test:<testLocator>

ビルドの実行時にミュートされたビルドのテストを一覧表示します

GET http://teamcity:8111/app/rest/testOccurrences?locator=build:(id:XXX),muted:true

現在ミュートされているテストのリスト (失敗以来ミュート)

GET http://teamcity:8111/app/rest/testOccurrences?locator=build:(id:XXX),currentlyMuted:true

サポートされているテストロケータ :

  • テスト履歴ページの URL の一部として利用可能な id:<internal test id>

  • name:<full test name>

単一のテスト呼び出し / 実行を公開するための実験的なサポートがあります。

テストの呼び出しを取得する

GET http://teamcity:8111/app/rest/testOccurrences?locator=build:(id:XXX),test:(id:XXX)&fields=$long,testOccurrence($short,invocations($long))

すべての呼び出しがフラット化されたすべてのテスト実行をリストする

GET http://teamcity:8111/app/rest/testOccurrences?locator=build:(id:XXX),test:(id:XXX),expandInvocations:true

ミュートテストとビルド問題

TeamCity 2017.2 以降

ミュートされたすべてのテストを一覧表示し、問題を構築する

GET http://teamcity:8111/app/rest/mutes

テストのミュートを解除するか、問題を構築する

DELETE http://teamcity:81111/app/rest/mutes/id:XXXX

テストをミュートまたは問題を構築する

POST http://teamcity:8111/app/rest/mutes

GET によって返されるものと同じ XML または JSON を使用します。

テストをミュートするための XML の例:

<mute> <scope><project id="<projectID>"/></scope> <target><tests><test name="<testName>"/></tests></target> <resolution type="whenFixed"/> </mute>

調査

ルートプロジェクトとそのサブプロジェクトの調査を一覧表示する

GET http://teamcity:8111/app/rest/investigations

サポートされているロケータ

  • test: (id:TEST_NAME_ID)
  • test: (name:FULL_TEST_NAME)
  • assignee: (<user_locator>)
  • buildType:(id:XXXX)

特定のテストの調査を取得する

http://teamcity:8111/app/rest/investigations?locator=test:(id:TEST_NAME_ID) http://teamcity:8111/app/rest/investigations?locator=test:(name:FULL_TEST_NAME)

ユーザーに割り当てられた調査を取得する

GET http://teamcity:8111/app/rest/investigations?locator=assignee:(<user locator>)

ビルド構成の調査を取得する

GET http://teamcity:8111/app/rest/investigations?locator=buildType:(id:XXXX)

調査を割り当て / 置換するには

単一の調査:

POST/PUT から http://teamcity:8111/app/rest/investigations (英語)

複数の調査の実験的サポートPOST/PUT から http://teamcity:8111/app/rest/investigations/multiple (英語)(調査のリストを受け入れます)。

GET によって返されるものと同じ XML または JSON を使用します。

調査を割り当てるための XML の例:

<investigation state="TAKEN"> <assignee username="<username>"/> <scope><buildType id="<buildTypeID>"/></scope> <target anyProblem="true"/> <resolution type="whenFixed"/> </investigation>

エージェント

エージェントの一覧表示 (デフォルトでは許可されたエージェントのみが含まれます)

GET http://teamcity:8111/app/rest/agents

接続されているすべての承認済みエージェントをリストする

GET http://teamcity:8111/app/rest/agents?locator=connected:true,authorized:true

許可されたすべてのエージェントをリストする

GET http://teamcity:8111/app/rest/agents?locator=authorized:true

有効な承認済みエージェントをすべて一覧表示します

GET http://teamcity:8111/app/rest/agents?locator=enabled:true,authorized:true

すべてのエージェントをリストする (無許可を含む)

GET http://teamcity:8111/app/rest/agents?locator=authorized:any

リクエストはデフォルトのフィルタリングを使用します(指定されたロケーターディメンションに応じて、他はデフォルトの暗黙の値を持つことができます)。このフィルタリングを無効にするには、ロケーターに ,defaultFilter:false を追加します。

エージェントを有効 / 無効にする

PUT http://teamcity:8111/app/rest/agents/<agentLocator>/enabled

true または false テキストをテキスト / プレーンとして配置します。例(英語)を参照してください。

エージェントの承認 / 承認解除

PUT http://teamcity:8111/app/rest/agents/<agentLocator>/authorized

true または false テキストを text / plain として配置します。

エージェントの単一フィールドを取得 / 配置する

GET/PUT http://teamcity:8111/app/rest/agents/<agentLocator>/<field_name>

ビルドエージェントを削除する

DELETE http://teamcity:8111/app/rest/agents/<agentLocator>

エージェントを有効化 / 無効化および許可 / 許可解除するときにコメントを追加します

エージェント使用可能 / 許可済みデータは、enabledInfo および authorizedInfo ノードに公開されています。

<agent id="1" name="agentName" typeId="1" connected="true" enabled="true" authorized="true" uptodate="true" ip="..........." href="/app/rest/agents/id:1"> <enabledInfo status="true"> <comment> <user username="userName" id="1" href="/app/rest/users/id:1"/> <timestamp>20160406T175040+0300</timestamp> <text>newcomment</text> </comment> </enabledInfo> <authorizedInfo status="true"> <comment> <user username="userName" id="1" href="/app/rest/users/id:1"/> <timestamp>20160406T183033+0300</timestamp> </comment> </authorizedInfo> .... </agent>

GET および PUT 要求は、 http://teamcity:8111/app/rest/agents/<agentLocator>/enabledInfo (英語) および http://teamcity:8111/app/rest/agents/<agentLocator>/authorized (英語) の URL でサポートされています。

PUT では、ステータスとコメント / テキストのサブアイテムのみが考慮されます。コメントでエージェントを無効にする例:

curl -v -u user:password --request PUT "http://teamcity:8111/app/rest/agents/id:1/enabledInfo" --data "<enabledInfo status='false'><comment><text>commentText</text></comment></enabledInfo>" --header "Content-Type:application/xml

エージェントプール

すべてのエージェントプールを一覧表示する

GET http://teamcity:8111/app/rest/agentPools

ID を使用したエージェントプールの取得 / 変更 / 削除

GET/PUT/DELETE http://teamcity:8111/app/rest/agentPools/id:ID

エージェントプールを追加する

POST agentPool name='PoolName' 要素を http://teamcity:8111/app/rest/agentPools (英語) へ。

以前のプールからプールにエージェントを移動する

POST <agent id='YYY'/> からプールのエージェント http://teamcity.url/app/rest/agentPools/id:XXX/agents (英語) へ。

例:

curl -v -u user:password [http://teamcity.url/app/rest/agentPools/id:XXX/agents](http://teamcity.url/app/rest/agentPools/id:XXX/agents) --request POST --header "Content-Type:application/xml" --data "<agent id='1'/>"

エージェントプールへのプロジェクトの割り当て

プロジェクトをプールに追加する

POST <project> ノードから http://teamcity.url/app/rest/agentPools/id:XXX/projects (英語) へ。

プールからプロジェクトを削除する

DELETE http://teamcity.url/app/rest/agentPools/id:XXX/projects/id:YYY

ユーザー

ユーザーのリスト

GET http://teamcity:8111/app/rest/users

特定のユーザーの詳細を取得する

GET http://teamcity:8111/app/rest/users/<userLocator>

ユーザーを作成する

POST http://teamcity:8111/app/rest/users

特定のユーザーを更新 / 削除

PUT/DELETE http://teamcity:8111/app/rest/users/<userLocator>

ユーザーに対する POST および PUT 要求の場合、対応する GET 要求によって取得された形式でデータをポストします。次の属性 / 要素のみがサポートされています: name , username , email , password , roles , groups , properties

ユーザーのロールを操作する

GET http://teamcity:8111/app/rest/users/<userLocator>/roles

<userLocator> は次の形式になります。

  • id:<internal user id> - 内部 ID でユーザーを参照します

  • username:<user's username> - ユーザー名 / ログイン名でユーザーを参照する

ユーザーの単一フィールド

GET/PUT http://teamcity:8111/app/rest/users/<userLocator>/<field_name>

ユーザーの単一のプロパティ

GET/DELETE/PUT http://teamcity:8111/app/rest/users/<userLocator>/properties/<property_name>

ユーザーグループ

グループのリスト

GET http://teamcity:8111/app/rest/userGroups

グループ内のユーザーのリスト

GET http://teamcity:8111/app/rest/userGroups/key:Group_Key

グループを作る

POST http://teamcity:8111/app/rest/userGroups

グループを削除する

DELETE http://teamcity:8111/app/rest/userGroups/key:Group_Key

ユーザーアクセストークン

アクセストークンのリスト

GET http://teamcity:8111/app/rest/users/<userLocator>/tokens

アクセストークンを作成する

POST http://teamcity:8111/app/rest/users/<userLocator>/tokens/<tokenName>

アクセストークンを削除する

DELETE http://teamcity:8111/app/rest/users/<userLocator>/tokens/<tokenName>

監査記録

ユーザーアクションのレコードにアクセスするには、TeamCity の監査ページでも利用可能

GET http://teamcity:8111/app/rest/audit

ユーザ、システムの動作、ビルドタイプなどでレコードをフィルターすることができます(利用可能なすべてのフィルターを確認するには GET http://teamcity:8111/app/rest/audit?locator=$help (英語) を使用してください)。

データバックアップ

バックアップを開始

POST http://teamcity:8111/app/rest/server/backup?includeConfigs=true&includeDatabase=true&includeBuildLogs=true&fileName=

<fileName> は、バックアップを保存するファイルのプレフィックスです。ファイルは、デフォルトのバックアップディレクトリに作成されます(参照より)。

現在のバックアップステータスを取得する (アイドル / 実行)

GET http://teamcity:8111/app/rest/server/backup

型付きパラメーターの指定

型付きパラメーターのリスト

プロジェクトの場合:

GET http://teamcity:8111/app/rest/projects/<locator>/parameters

ビルド構成の場合:

GET http://teamcity:8111/app/rest/buildTypes/<locator>/parameters

返される情報は、parameters count , property name , value および type です。 type エレメントの rawValue は、UI で定義されているパラメーター仕様です。

特定のパラメーターの詳細を取得する

GET http://teamcity:8111/app/rest/buildTypes/<locator>/parameters/<name>

プレーンテキスト、XML、JSON を受け入れ / 返します。リクエストに関連する Content-Type ヘッダーを提供します。

新しいパラメーターを作成する

POST は、GET から http://teamcity:8111/app/rest/buildTypes/<locator>/parameters/ (英語) に返されるものと同じ XML または JSON、または単なるプレーンテキストです。 type=password などの安全なパラメーターがリストされていますが、値は応答に含まれていないため、結果を POST する前に修正する必要があります。

プロパティを設定するための XML の例:

<property name="<parameterName>" value=""> <type rawValue="password"/> </property>

TeamCity 9.1 以降、パラメーターの部分的な更新が可能です(現在実験的な状態です)。

ビルド状況アイコン

ビルドステータスを表すアイコン:

.svg アイコン (推奨)

GET http://teamcity:8111/app/rest/builds/<buildLocator>/statusIcon.svg

.png アイコン

GET http://teamcity:8111/app/rest/builds/<buildLocator>/statusIcon

複数のビルドのビルドステータスを表すアイコン ( TeamCity 10.0 以降 )

GET リクエストと strob ビルドロケーターディメンション。

リクエスト例 :

PROJECT_ID ID を持つプロジェクトの場合:

GET http://teamcity:8111/app/rest/builds/aggregated/strob:(buildType:(project:(id:PROJECT_ID)))/statusIcon.svg

BUILD_CONF_ID ID を持つビルド構成内のすべてのアクティブブランチの場合

GET http://teamcity:8111/app/rest/builds/aggregated/strob:(branch:(buildType:(id:BUILD_CONF_ID),policy:active_history_and_active_vcs_branches),locator:(buildType:(id:BUILD_CONF_ID)))/statusIcon.svg

要求 /app/rest/builds/aggregated/<build locator> の場合、状況はビルドのリスト app/rest/builds?locator=<build locator> によって計算されます。これにより、単純な img タグを使用して、ビルドステータスアイコンを任意の HTML ページに埋め込むことができます。

BUILD_CONF_ID ID を使用したビルド構成の場合:

最後のビルドの状況

<img src="http://teamcity:8111/app/rest/builds/buildType:(id:BUILD_CONF_ID)/statusIcon"/>

myTag タグでタグ付けされた最後のビルドの状況:

<img src="http://teamcity:8111/app/rest/builds/buildType:(id:BUILD_CONF_ID),tag:myTag/statusIcon"/>

BuildSuccessfulStatus.png

他のすべてのビルドロケーターがサポートされています。

例:次のマークダウンマークアップを使用して、ID が TeamCityPluginsByJetBrains_TeamcityGoogleTagManagerPlugin_Build のビルド構成およびゲスト認証が有効なサーバー https://teamcity.jetbrains.com (英語) の GitHub リポジトリのビルドステータスを追加できます。

[![Build status](https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:TeamCityPluginsByJetBrains_TeamcityGoogleTagManagerPlugin_Build)/statusIcon.svg)](https://teamcity.jetbrains.com/viewType.html?buildTypeId=TeamCityPluginsByJetBrains_TeamcityGoogleTagManagerPlugin_Build)

返されたイメージに「データを取得する権限がありません」というテキスト(no-permission-to-get-data.png)が含まれている場合は、次のいずれかが当てはまることを確認してください。

  • サーバーで guest ユーザーアクセスが有効になっており、guest ユーザーが参照されているビルド構成にアクセスするためのアクセス許可を持っています。

  • 参照されているビルド構成には、「状況ウィジェットを有効にする」オプション オンがあります。

  • 同じブラウザーで TeamCity サーバーにログインしており、参照しているビルド構成を表示する権限があります。GitHub はサーバー側からイメージを取得するため、これは GitHub ページの埋め込みイメージには役に立ちません。

TeamCity ライセンス情報の要求

TeamCity 10 以降 :

ライセンス情報

GET http://teamcity:8111/app/rest/server/licensingData

ライセンスキーのリスト

GET http://teamcity:8111/app/rest/server/licensingData/licenseKeys

ライセンスキーの詳細

GET http://teamcity:8111/app/rest/server/licensingData/licenseKeys/<license_key>

ライセンスキーを追加

http://teamcity:8111/app/rest/server/licensingData/licenseKeys (英語) への POST テキスト / プレーン改行区切りキー。

ライセンスキーを削除する

DELETE http://teamcity:8111/app/rest/server/licensingData/licenseKeys/<license_key>

CCTray

CCTray 互換の XML は http://teamcity:8111/app/rest/cctray/projects.xml (英語) から入手できます。

認証なし(ゲストユーザーが利用できるビルド構成のみ): http://teamcity:8111/guestAuth/app/rest/cctray/projects.xml (英語)

CCTray フォーマットの XML には、デフォルトで一時停止ビルド構成は含まれていません。URL は、標準のビルド構成ロケーターではなく locator パラメーターを受け入れます。

リクエスト例

curl(英語) コマンドラインツールを使用して、TeamCity RESTAPI と対話できます。

コマンド例:

curl -v --basic --user USERNAME:PASSWORD --request POST "http://teamcity:8111/app/rest/users/" --data @data.xml --header "Content-Type: application/xml"

ここで、USERNAME , PASSWORD , teamcity:8111 は実際の値に置き換えられ、data.xml ファイルにはサーバーに送信するデータが含まれています。

新しいプロジェクトを作成する

カールツールを使用する:

curl -v -u USER:PASSWORD http://teamcity:8111/app/rest/projects --header "Content-Type: application/xml" --data-binary "<newProjectDescription name='New Project Name' id='newProjectId'><parentProject locator='id:project1'/></newProjectDescription>"

ユーザーをシステム管理者にする

  1. スーパーユーザートークンを取得します。

  2. 要求を出します。

  3. curl(英語) コマンドラインツールを入手して、コマンドラインを使用します。

curl -v -u :SUPERUSER_TOKEN --request PUT http://teamcity:8111/app/rest/users/username:USERNAME/roles/SYSTEM_ADMIN/g/

SUPERUSER_TOKEN は、各サーバー起動に固有のスーパーユーザートークンです。 teamcity:8111 - TeamCity サーバーの URL。 USERNAME - システム管理者になるユーザーのユーザー名