プルリクエストの承認ルールの上書き - AWS CodeCommit

プルリクエストの承認ルールの上書き

通常の開発過程では、プルリクエストをマージする前に、ユーザーが承認ルールの条件を満たすようにします。ただし、プルリクエストのマージを迅速化する必要がある場合があります。たとえば、バグ修正を本番稼働環境に配置したいが、承認プールの誰もプルリクエストを承認できないとします。このような場合は、プルリクエストの承認ルールを上書きすることを選択できます。プルリクエスト用に特別に作成され、承認ルールテンプレートから生成されたものを含む、プルリクエストのすべての承認ルールを上書きできます。特定の承認ルールを選択的に上書きすることはできません。すべてのルールだけです。ルールを上書きして承認ルールの要件を確保したら、プルリクエストを送信先ブランチにマージできます。

プルリクエストの承認ルールを上書きすると、ルールを上書きしたユーザーに関する情報が、プルリクエストのアクティビティに記録されます。このようにして、プルリクエストの履歴に戻り、誰がルールを上書きしたかを確認できます。プルリクエストがまだ開いている場合は、上書きを取り消すこともできます。プルリクエストがマージされると、上書きを取り消すことができなくなります。

承認ルールを上書きする (コンソール)

プルリクエストの確認の一環として、コンソールでプルリクエストの承認ルールの要件を上書きできます。気が変わったら、上書きを取り消すことができ、承認ルールの要件が再適用されます。プルリクエストが開いている場合にのみ、承認ルールを上書きするか、上書きを取り消すことができます。マージまたはクローズしている場合は、上書き状態を変更できません。

  1. https://console.aws.amazon.com/codesuite/codecommit/home で CodeCommit コンソールを開きます。

  2. リポジトリで、リポジトリの名前を選択します。

  3. ナビゲーションペインで、[プルリクエスト] を選択します。承認ルールの要件を上書きするプルリクエストを選択するか、上書きを取り消します。

  4. [Approvals (承認)] タブで、[Override approval rules (承認ルールの上書き)] を選択します。要件は確保され、ボタンのテキストは [Revoke override (上書きを取り消し)] に変わります。承認ルールの要件を再適用するには、[Revoke override (上書きの取り消し)] を選択します。

承認ルールを上書きする (AWS CLI)

AWS CLI を使用して、承認ルールの要件を上書きできます。プルリクエストの上書きステータスを表示する場合にも使用できます。

プルリクエストの承認ルール要件を上書きするには

  1. ターミナルまたはコマンドラインで、次を指定して、override-pull-request-approval-rules コマンドを実行します。

    • プルリクエストのシステム生成 ID。

    • プルリクエストの最新リビジョン ID。この情報を表示するには、get-pull-request を使用します。

    • 上書きするステータス、OVERRIDE または REVOKEREVOKE ステータスによって OVERRIDE ステータスが削除されますが、保存されません。

    たとえば、ID が、34 で、リビジョン ID が 927df8d8EXAMPLE であるプルリクエストの承認ルールを上書きするには、次のようにします。

    aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status OVERRIDE
  2. 成功すると、このコマンドは何も返しません。

  3. ID が、34 で、リビジョン ID が 927df8d8EXAMPLE であるプルリクエストの上書きを取り消すには、次のようにします。

    aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status REVOKE

プルリクエストの上書きステータスに関する情報を取得するには

  1. ターミナルまたはコマンドラインで、次を指定して、get-pull-request-override-state コマンドを実行します。

    • プルリクエストのシステム生成 ID。

    • プルリクエストの最新リビジョン ID。この情報を表示するには、get-pull-request を使用します。

    たとえば、ID が、34 で、リビジョン ID が 927df8d8EXAMPLE であるプルリクエストの上書き状態を表示するには、次のようにします。

    aws codecommit get-pull-request-override-state --pull-request-id 34 --revision-id 927df8d8dEXAMPLE
  2. このコマンドが正常に実行されると、次のような出力が生成されます。

    { "overridden": true, "overrider": "arn:aws:iam::123456789012:user/Mary_Major" }