承認ルールテンプレートの管理 - AWS CodeCommit

承認ルールテンプレートの管理

AWS リージョン の承認ルールテンプレートを管理して、その使用方法と用途を理解することができます。たとえば、承認ルールテンプレートの名前と説明を編集して、他のユーザーがその目的を理解しやすくすることができます。AWS リージョン のすべての承認ルールテンプレートを一覧表示し、テンプレートのコンテンツと構造に関する情報を取得できます。どのテンプレートがリポジトリに関連付けられているか、およびどのリポジトリがテンプレートに関連付けられているかを確認できます。

承認ルールテンプレートのマネージドポリシーと許可の詳細については、「承認ルールテンプレートに対するアクションのアクセス許可 および AWSCodeCommit の 管理ポリシー」を参照してください。

承認ルールテンプレートを管理する (コンソール)

承認ルールテンプレートは、CodeCommit コンソールで表示および管理できます。

承認ルールテンプレートを管理するには

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

  2. [Approval rule templates (承認ルールテンプレート)] を選択して、サインインしている AWS リージョン の承認ルールテンプレートの一覧を表示します。

    注記

    承認ルールテンプレートは、作成された AWS リージョン でのみ使用できます。

  3. テンプレートを変更する場合は、リストからテンプレートを選択し、[Edit (編集)] を選択します。

  4. 変更を行ってから、[Save] を選択します。

承認ルールテンプレートを管理する (AWS CLI)

承認ルールテンプレートは、次の AWS CLI コマンドで管理できます。

AWS リージョン のすべての承認ルールテンプレートを一覧表示するには

  1. ターミナルまたはコマンドラインで、list-approval-rule-templates コマンドを実行します。例えば、米国東部 (オハイオ) リージョンのすべての承認ルールテンプレートを一覧表示するには、次のようにします。

    aws codecommit list-approval-rule-templates --region us-east-2
  2. 成功すると、このコマンドは以下のような出力を返します。

    { "approvalRuleTemplateNames": [ "2-approver-rule-for-main", "1-approver-rule-for-all-pull-requests" ] }

承認ルールテンプレートのコンテンツを取得するには

  1. ターミナルまたはコマンドラインで、承認ルールテンプレートの名前を指定して、get-approval-rule-template コマンドを実行します。

    aws codecommit get-approval-rule-template --approval-rule-template-name 1-approver-rule-for-all-pull-requests
  2. 成功すると、このコマンドは以下のような出力を返します。

    { "approvalRuleTemplate": { "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "ruleContentSha256": "621181bbEXAMPLE", "lastModifiedDate": 1571356106.936, "creationDate": 1571356106.936, "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan", "approvalRuleTemplateId": "a29abb15-EXAMPLE", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team." } }

承認ルールテンプレートのコンテンツを更新するには

  1. ターミナルまたはコマンドプロンプトで、テンプレートの名前と変更されたコンテンツを指定して、update-approval-rule-template-content コマンドを実行します。例えば、1-approver-rule という名前の承認ルールテンプレートの内容を変更して、CodeCommitReview のロールを引き受けるユーザーに承認プールを再定義するには、次のようにします。

    aws codecommit update-approval-rule-template-content --approval-rule-template-name 1-approver-rule --new-rule-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"
  2. 成功すると、このコマンドは以下のような出力を返します。

    { "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" } }

承認ルールテンプレートの名前を更新するには

  1. ターミナルまたはコマンドプロンプトで、現在の名前と変更先の名前を指定して、update-approval-rule-template-name コマンドを実行します。たとえば、承認ルールテンプレートの名前を 1-approver-rule から 1-approver-rule-for-all-pull-requests に変更するには、次のようにします。

    aws codecommit update-approval-rule-template-name --old-approval-rule-template-name "1-approver-rule" --new-approval-rule-template-name "1-approver-rule-for-all-pull-requests"
  2. 成功すると、このコマンドは以下のような出力を返します。

    { "approvalRuleTemplate": { "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedDate": 1571358241.619, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "creationDate": 1571352720.773, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team.", "ruleContentSha256": "2f6c21a5cEXAMPLE" } }

承認ルールテンプレートの説明を更新するには

  1. ターミナルまたはコマンドラインで、承認ルールテンプレートの名前と新しい説明を指定して、update-approval-rule-template-description コマンドを実行します。

    aws codecommit update-approval-rule-template-description --approval-rule-template-name "1-approver-rule-for-all-pull-requests" --approval-rule-template-description "Requires 1 approval for all pull requests from the CodeCommitReview pool"
  2. このコマンドが正常に実行されると、次のような出力が生成されます。

    { "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" } }

テンプレートに関連付けられているすべてのリポジトリを一覧表示するには

  1. コマンドラインまたはターミナルで、テンプレートの名前を指定して、list-repositories-for-approval-rule-template コマンドを実行します。

    aws codecommit list-repositories-for-approval-rule-template --approval-rule-template-name 2-approver-rule-for-main
  2. 成功すると、このコマンドは以下のような出力を返します。

    { "repositoryNames": [ "MyDemoRepo", "MyClonedRepo" ] }

リポジトリに関連付けられているすべてのテンプレートを一覧表示するには

  1. コマンドラインまたはターミナルで、リポジトリの名前を指定して、list-associated-approval-rule-templates-for-repository コマンドを実行します。

    aws codecommit list-associated-approval-rule-templates-for-repository --repository-name MyDemoRepo
  2. 成功すると、このコマンドは以下のような出力を返します。

    { "approvalRuleTemplateNames": [ "2-approver-rule-for-main", "1-approver-rule-for-all-pull-requests" ] }