Bitbucket ウェブフックイベントのフィルタリング (CloudFormation)
CloudFormation テンプレートを使用してウェブフックイベントをフィルタリングするには、AWS CodeBuild プロジェクトの FilterGroups プロパティを使用します。以下の YAML 形式の CloudFormation テンプレート部分によって、2 つのフィルタグループが作成されます。また、一方または両方が true と評価されると、ビルドがトリガーされます。
-
最初のフィルタグループでは、アカウント ID
^refs/heads/main$を持たない Bitbucket ユーザーが、正規表現12345と一致する Git 参照名を持つブランチに対してプルリクエストを作成または更新することを指定します。 -
2 番目のフィルタグループでは、正規表現
^refs/heads/.*と一致する Git 参照名を持つブランチに対するプッシュリクエストを作成することを指定します。 -
3 番目のフィルタグループでは、正規表現
\[CodeBuild\]に一致する HEAD コミットメッセージを使用してプッシュリクエストを指定します。
CodeBuildProject: Type: AWS::CodeBuild::Project Properties: Name: MyProject ServiceRole:service-roleArtifacts: Type: NO_ARTIFACTS Environment: Type: LINUX_CONTAINER ComputeType: BUILD_GENERAL1_SMALL Image: aws/codebuild/standard:5.0 Source: Type: BITBUCKET Location:source-locationTriggers: Webhook: true FilterGroups: - - Type: EVENT Pattern: PULL_REQUEST_CREATED,PULL_REQUEST_UPDATED - Type: BASE_REF Pattern: ^refs/heads/main$ ExcludeMatchedPattern: false - Type: ACTOR_ACCOUNT_ID Pattern: 12345 ExcludeMatchedPattern: true - - Type: EVENT Pattern: PUSH - Type: HEAD_REF Pattern: ^refs/heads/.* - Type: FILE_PATH Pattern: READ_ME ExcludeMatchedPattern: true - - Type: EVENT Pattern: PUSH - Type: COMMIT_MESSAGE Pattern: \[CodeBuild\] - Type: FILE_PATH Pattern: ^src/.+|^test/.+