{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-codebuild/refs/heads/main/json-structure/amazon-codebuild-webhook-structure.json", "name": "Webhook", "description": "Information about a webhook that connects repository events to a build project in CodeBuild.", "type": "object", "properties": { "url": { "allOf": [ { "$ref": "#/components/schemas/NonEmptyString" }, { "description": "The URL to the webhook." } ] }, "payloadUrl": { "allOf": [ { "$ref": "#/components/schemas/NonEmptyString" }, { "description": "The CodeBuild endpoint where webhook events are sent." } ] }, "secret": { "allOf": [ { "$ref": "#/components/schemas/NonEmptyString" }, { "description": "

The secret token of the associated repository.

A Bitbucket webhook does not support secret.

" } ] }, "branchFilter": { "allOf": [ { "$ref": "#/components/schemas/String" }, { "description": "

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

" } ] }, "filterGroups": { "allOf": [ { "$ref": "#/components/schemas/FilterGroups" }, { "description": "

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

" } ] }, "buildType": { "allOf": [ { "$ref": "#/components/schemas/WebhookBuildType" }, { "description": "Specifies the type of build this webhook will trigger." } ] }, "lastModifiedSecret": { "allOf": [ { "$ref": "#/components/schemas/Timestamp" }, { "description": "A timestamp that indicates the last time a repository's secret token was modified. " } ] } } }