BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GitHub Checks APIにより、アプリは高度な継続的インテグレーションが可能に

GitHub Checks APIにより、アプリは高度な継続的インテグレーションが可能に

ブックマーク

原文(投稿日:2018/05/09)へのリンク

読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます新機能の詳細をご覧ください。

GitHub Checks APIは、コードチェックを継続的なインテグレーションワークフローに統合することを目的としている。たとえば、これはソースファイルを診断し、プルリクエストビューに直接結果を表示することを意味する。フィードバックは、問題の原因となるコード行を示すなど、必要に応じて詳細に記述することができるため、コミットの作成者は問題を修正してコードを改めてチェックすることができる。

GitHub Checks APIは従来のGitHubステータスAPIの進化版と見なすことができる。これにより、外部サービスは、コミットを含むプルリクエストに反映されるステータスコード(failまたはpass)でコミットをマークできる。インテグレータは、チェックAPIを使用して、コミットまたはPRのステータスをより細かく制御できるようになった。ステータスとしては、successfailureneutralcancelledtimed_outaction_requiredqueuedin_progresscompletedがある。さらに、チェックには、テキスト情報、画像などのさまざまなデータが含まれる。そのため、開発者はコミットや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

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

BT