🎉

【AWS】 CodeBuildでどんなfilterをtriggerにしているか確認する方法を調べてみた

に公開

はじめに

CodeBuildについては初学者なのですが、
どのようなtriggerで動いているかを確認する手段に困る場面に遭遇したので、
備忘録として残しておきたいと思い本記事を書きました。

CodeBuildの詳細確認方法

結論、awscliでプロジェクトの情報を確認するのが早いと分かりました。
AWSコンソールの中には表示されないのでしょうか?
いくらコンソールを彷徨っても、私の力では見つけられませんでした。

まずはビルドプロジェクトの一覧を取得します。

% aws codebuild list-projects
{
    "projects": [
        "Development",
        "Staging",
        "Production"
    ]
}

次に、確認したいプロジェクト名を指定して以下のようにローカルへJSONで書き出します。
(書き出さなくてもよいですがそれなりの量が出力されるため)

% aws codebuild batch-get-projects --name Production > Production.json

例えばtagのpushで「production/20250801」のような形式で設定されている場合、以下のようにwebhook.filterGroupsの内容で把握することが出来ました。
※下記のresponseは一部割愛し、アカウントが特定できないよう内容を改変しています。

{
    "projects": [
        {
            "name": "Production",
            "arn": "arn:aws:codebuild:ap-northeast-1:000000000000:project/Production",
            "source": {
                "type": "GITHUB",
                "location": "https://github.com/organizationname/reponame.git",
                "gitCloneDepth": 1,
                "buildspec": "code_build/buildspec.yml",
                "reportBuildStatus": false,
                "insecureSsl": false
            },
            "environment": {
                "type": "LINUX_CONTAINER",
                "image": "aws/codebuild/standard:7.0",
                "computeType": "BUILD_GENERAL1_SMALL",
                "environmentVariables": [
                    {
                        "name": "ENV",
                        "value": "production",
                        "type": "PLAINTEXT"
                    }
                ],
                "privilegedMode": false,
                "imagePullCredentialsType": "CODEBUILD"
            },
            "serviceRole": "arn:aws:iam::000000000000:role/AnyRole",
            "timeoutInMinutes": 60,
            "queuedTimeoutInMinutes": 480,
            "encryptionKey": "arn:aws:kms:ap-northeast-1:000000000000:alias/aws/s3",
            "tags": [
                {
                    "key": "ENV",
                    "value": "production"
                }
            ],
            "created": "2025-07-31T12:00:00.618000+09:00",
            "lastModified": "2025-08-01T09:00:00.011000+09:00",
            "webhook": {
                "url": "https://api.github.com/repos/organizationname/reponame/hooks/123456789",
                "payloadUrl": "https://codebuild.ap-northeast-1.amazonaws.com/webhooks?t=anylongstrings&v=1",
                "filterGroups": [
                    [
                        {
                            "type": "EVENT",
                            "pattern": "PUSH",
                            "excludeMatchedPattern": false
                        },
                        {
                            "type": "HEAD_REF",
                            "pattern": "^refs/tags/production/.+",
                            "excludeMatchedPattern": false
                        }
                    ]
                ],
                "buildType": "BUILD"
            }
        }
    ],
    "projectsNotFound": []
}

終わりに

他のCI/CDに慣れすぎてCodeBuildが直感的ではなかった印象が強かったですが、
まだまだ触ったばかりなのでこれを機に理解深めたいなと思ってます。

参考

https://docs.aws.amazon.com/cli/latest/reference/codebuild/

Discussion