TeamCity オンプレミス 2025.11 ヘルプ

GitHub が Webhook トリガーをチェック

共通情報

GitHub が Webhook トリガーをチェックは、新しい変更がリモート GitHub リポジトリにプッシュされるたびに、TeamCity ビルドを実行します。さらに、このトリガーは詳細なビルド結果情報を GitHub に投稿します。

Build summary info on GitHub

処理された変更セットがプルリクエストの一部である場合、このリクエストのチェックタブに同じビルド結果情報が表示されます。

Build report in the Checks tab

ビルドサーバーのアドレスを公開したくない場合は、トリガー設定で GitHub チェック実行出力で TeamCity リンクを無効にするオプションにチェックを入れます。この場合、ビルドステータスメッセージは TeamCity ビルドとビルドログへのリンクを公開しません。

トリガーは GitHub チェック API(英語) を活用し、唯一のコミット検証メカニズムとして使用したり、ネイティブの GitHub アクション(英語)ワークフローを補完したりできます。

TC builds with GH actions

制限と要件

  • GitHub が Webhook トリガーをチェックは、バージョン管理システムにアクセスするためにリフレッシュ可能なトークンを使用する VCS ルートを持つビルド構成とのみ互換性があります。これらのトークンは、GitHub アプリの接続を介して発行されます。

    接続では、Webhook のサポートオプションが有効になっている必要があります。さらに、トリガーでは、関連する GitHub アプリが Checks: Read and write 権限を持ち、Check run および Check suite Web フックイベントを処理する必要があります。新しい GitHub アプリの TeamCity 接続を「自動」モードで構成する場合、必要な権限と Web フックイベントハンドラーはすべて有効になっています。それ以外の場合、新しい接続を「手動」モードで構成するか、バージョン 2024.07 より前に作成された接続を更新する場合は、GitHub 側でアプリの設定を適宜変更してください。更新された権限を有効にするには、認証トークンを再取得する必要もあります。

  • 関連する VCS ルートでブランチとしてタグを使用オプションが有効になっている場合、新しいタグ付きリリース(英語)が作成されても、GitHub チェック Webhook トリガーは新しいビルドを自動的に開始しません。

  • 1 つのビルド構成で GitHub チェックと標準 VCS トリガーを一緒に使用すると、同じプッシュに対して重複したビルドがトリガーされる可能性があります。過剰なビルドを回避するには、トリガーを 1 つだけ使用することを検討してください。詳細については、この YouTrack チケットを参照してください: TW-88928(英語)

チェックと VCS トリガーの比較

「クラシック」TeamCity セットアップでは、自動変更ビルドは次のように構成されます。

  1. TeamCity は、リモートリポジトリから新しい変更を収集します。これは、自動ポーリング中に発生する可能性があります。または、構成が既存の GitHub アプリ接続を介して作成された場合は、GitHub がコミット後の Webhook を TeamCity に送信するときに発生する可能性があります。

  2. VCS トリガーは、独自のスケジュールに従って保留中の変更をチェックし、1 つまたは複数の新しいコミットが利用可能な場合は新しいビルドを生成します。トリガースケジュールは、コミットの頻度が非常に高い場合に発生する可能性のある、TeamCity による過剰な数のビルドの生成を防ぎます。代わりに、ビルドが新しいコミットをバッチで処理できるバランスの取れたアプローチを提供します。例: 過去 5 分間にプッシュされたすべてのコミットは、単一の TeamCity ビルドになります。

  3. ステータス発行者のコミット機能が構成されている場合、ビルドステータスが GitHub に返されます。

このセットアップと比較すると、チェックトリガーには次のような大きな違いがあります。

  • 内部スケジュールはなく、新しいプッシュごとに新しい TeamCity ビルドが生成されることが保証されます。このメカニズムは、プッシュの発生頻度に関係なく、すべてのプッシュに対してビルドを生成する必要がある場合に適しています。

  • Markdown 形式のステータス更新を公開するためにステータス発行者のコミットは必要ありません。

2024 年 9 月 18 日

関連ページ:

接続を構成

TeamCity 接続は、外部サービスへのアクセスに必要な資格情報を保存します。このサードパーティサービスの種類に基づいて、2 つの主要な接続カテゴリがあります。VCS 接続これらの接続は、GitHub、GitLab、Bitbucket クラウドなどの VCS プロバイダーへのアクセスに必要な情報を保存します。これらの接続は、プロジェクト、ビルド構成、パイプラインを最も速く作成する方法を提供します。認証は自動的に処理されるため、リポジトリを選択するだけでビルドステップの設定を開始できます。接続が...

Git

TeamCity は、Git をすぐにサポートします。Azure DevOps Services を使用した Git ソース管理がサポートされています (以下の認証に関する注意事項を参照)。このページには、VCS ルート設定の Git 固有のフィールドの説明が含まれています。一般的な VCS ルートプロパティについては、このセクションを参照してください。注意事項: リモート実行とテスト済みのコミットは IntelliJ IDEA プラグインでサポートされています。Visual Studio アドインで...

VCS トリガーの設定

VCS トリガーは、TeamCity が構成済みの VCS ルートの新しい変更を検出するたびに新しいビルドを自動的に開始し、保留中の変更の変更を表示します。複数の VCS トリガーをビルド構成に追加できます。デフォルト設定の新しい VCS トリガーは、ビルド構成に保留中の変更があるとビルドをトリガーします。バージョン管理は、VCS コミットフック(設定されている場合)を尊重する VCS ルートの変更チェック間隔に従ってポーリングされます。チェックアウトルールに一致する変更のみが保留中として表示され...

VCS ルートの設定

VCS ルートは、TeamCity ←→ VCS リポジトリ通信の基礎です。この不可欠な要素は、リポジトリのチェックアウト、コードソースのタグ付け、ビルドステータスの VCS への返信など、さまざまな操作を実行するために必要な VCS プロバイダーへの接続を定義します。VCS ルートには次の情報が保存されます。TeamCity がリモートファイルをプルおよびプッシュするために使用する URL を取得してプッシュします。ブランチ情報: TeamCity が追跡する必要があるリポジトリブランチのリスト...

ステータス発行者のコミット

コミットステータスパブリッシャーは、TeamCity がコミットのビルドステータスを外部システムに自動的に送信できるようにするビルド機能です。この機能は、TeamCity にバンドルされたオープンソースプラグインとして実装されています。サポートされているシステム:GitHub(プルリクエストのビルドステータスもサポートされています)、GitLab、Azure DevOps(サポートされるステータス: 保留中、成功、失敗、エラー)、Bitbucket サーバーおよび Bitbucket クラウド、J...

ブランチリモート実行トリガ

ブランチリモート実行トリガーは、ビルド構成の VCS ルートの特定のブランチで TeamCity が変更を検出するたびに、新しい個人ビルドを自動的に開始します。完了した個人ビルドはビルド履歴にリストされますが、それを開始したユーザーに対してのみリストされます。現時点では、ブランチリモート実行トリガーは Git および Mercurial VCS のみをサポートします。ブランチからの非個人的なビルドについては、機能ブランチを使用した作業を参照してください。ブランチ仕様が VCS ルート用に構成され...