Skip to main content

ステータスチェックについて

ステータスチェックを利用すると、コントリビュート先のリポジトリの条件をコミットが満たしているかどうかを知ることができます。

ステータスチェックは、リポジトリにプッシュをするたびに実行される継続的インテグレーションのビルドのような、外部のプロセスに基づいています。 pull request 中の個々のコミットの隣に、ステータスチェックの pendingpassingfailing などのステータスが表示されます。

コミットと状態の一覧のスクリーンショット。

書き込み権限があるユーザまたはインテグレーションなら誰でも、リポジトリのステータスチェックを任意のステータスに設定できます。

ブランチへの最後のコミットの全体的なステータスは、リポジトリのブランチページあるいはリポジトリのプルリクエストのリストで見ることができます。

リポジトリでステータスチェックが要求されているなら、必須のステータスチェックをパスしてからでないと保護されたブランチにあなたのブランチはマージできません。 詳しくは、「保護されたブランチについて」を参照してください。

注: スキップされたジョブでは、その状態が "成功" として報告されます。 必要なチェックであっても、pull request のマージを妨げるものではありません。

GitHubでのステータスチェックの種類

GitHub のステータスチェックには 2 種類あります。

  • チェック
  • ステータス

_チェック_は、行のアノテーション、より詳細なメッセージを提供するという点で_ステータス_とは異なっており、GitHub App でのみ利用できます。

Organization オーナー、およびリポジトリにプッシュアクセスを持つユーザは、GitHub の API でチェックおよびステータスを作成できます。 詳細については、「チェック用 REST API エンドポイント」および「コミット」を参照してください。

チェック

リポジトリで_チェック_がセットアップされている場合、pull request には [チェック] タブがあり、そこからステータスチェックからの詳細なビルドのアウトプットを見て、失敗したチェックを再実行できます。

注釈: リポジトリの_状態_ではなく、_チェック_を設定した場合にのみ、 [チェック] タブに pull request が設定されます。

コミットの特定の行でチェックが失敗している場合、その失敗、警告、注意に関する詳細が pull request の [ファイル] タブの関連するコードの横に表示されます。

[チェック] タブの下のコミットドロップダウンメニューを使って、pull request 中のさまざまなコミットのチェックのサマリー間を移動することができます。

pull request の [チェック] タブのスクリーンショット。 [チェック] タブとコミットを選ぶドロップダウン メニューが、どちらも濃いオレンジ色の枠線で囲まれています。

個々のコミットに関するチェックのスキップとリクエスト

リポジトリがプッシュに対して自動的にチェックをリクエストするように設定されている場合、プッシュする個々のコミットについてチェックをスキップできます。 リポジトリがプッシュに対して自動的にチェックをリクエストするよう設定されて_いない_場合、プッシュする個々のコミットについてチェックをリクエストできます。 これらの設定について詳しくは、「チェック用 REST API エンドポイント」を参照してください。

コミット メッセージにコマンドを含めることで、pushpull_request イベントによってトリガーされるワークフロー実行をスキップすることもできます。 詳細については、「ワークフロー実行をスキップする」を参照してください

また、コミットに対する "すべて" のチェックをスキップもしくはリクエストするには、以下のトレーラー行のいずれかをコミット メッセージの末尾に追加します。__

  • コミットの_チェックをスキップ_には、コミットメッセージと変更の短く意味のある説明を入力してください。 コミットの説明の後、終了引用符の前に、2 つの空の行を追加してから skip-checks: true を追加します。

    $ git commit -m "Update README
    >
    >
    skip-checks: true"
    
  • コミットのチェックを_リクエスト_するには、コミットメッセージと変更の短く意味のある説明を入力してください。 コミットの説明の後、終了引用符の前に、2 つの空の行を追加してから request-checks: true を追加します。

    $ git commit -m "Refactor usability tests
    >
    >
    request-checks: true"
    

既定では、Git は連続する改行を自動的に削除します。 コミット メッセージを入力したとおりのままにするには、コミットで--cleanup=verbatimオプションを使用します。 詳細については、Git ドキュメントにある「--cleanup=<mode>」を参照してください。

状態チェックの保持

GitHub.com では、チェック データが 400 日間保持されます。 400 日後、データはアーカイブされます。 アーカイブから 10 日後に、データは完全に削除されます。

必須であり、アーカイブされているチェックと pull request をマージするには、チェックを再実行する必要があります。