GitHub Checks APIは、コードチェックを継続的なインテグレーションワークフローに統合することを目的としている。たとえば、これはソースファイルを診断し、プルリクエストビューに直接結果を表示することを意味する。フィードバックは、問題の原因となるコード行を示すなど、必要に応じて詳細に記述することができるため、コミットの作成者は問題を修正してコードを改めてチェックすることができる。
GitHub Checks APIは従来のGitHubステータスAPIの進化版と見なすことができる。これにより、外部サービスは、コミットを含むプルリクエストに反映されるステータスコード(failまたはpass)でコミットをマークできる。インテグレータは、チェックAPIを使用して、コミットまたはPRのステータスをより細かく制御できるようになった。ステータスとしては、success、failure、neutral、cancelled、timed_out、action_required、queued、in_progress、completedがある。さらに、チェックには、テキスト情報、画像などのさまざまなデータが含まれる。そのため、開発者はコミットやPRに対してチェックを実行することができ、GitHubはどれが成功し、どれが失敗し、どれに警告が出ているかを示すような、洗練されたワークフローを構築できる。

GitHubはチェックワークフローのさまざまなレベルのコントロールをサポートしている。
- 自動化:
checks:write権限付きのインストール済みのすべてのアプリケーションには、変更部分の分析を開始するイベントが送信される。チェックを実行中のすべてのアプリはGitHub UIによって一覧表示されるため、インテグレータと開発者はチェックの進行状況を監視し、必要に応じてアクションを実行できる。 - ユーザ:
POST /repos/:owner/:repo/check-suite-requestsのようなリクエストや、コミットメッセージにskip-checks: trueディレクティブやrequest-checks: trueディレクティブを追加することで、特定のチェックを要求することができる。 - Web UI:GitHub Web UIを使用して、個別あるいはすべてに対してチェックを実行することができる。
GitHub Appがチェックを実行できるようにするには、要求されたアクションを指定するcheck_suite Webフックを使う必要がある。アプリケーションは、GitHubがチェックスイートに追加する新しいチェック実行を作成し、すべてのチェックと結果をサマリを作成する。アプリはまず、queuedあるいはin progressの状態でチェック実行を生成し、それが進行するにつれて更新していく。アプリケーションとGitHubが交換する必要があるメッセージの詳細をすべて調べるには、上述のドキュメントを参照してください。
現在、GitHub Checks APIはGitHub REST APIでのみ動作し、GraphQL APIでのチェックはサポートしている。
Rate this Article
- Editor Review
- Chief Editor Action