{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-codepipeline/refs/heads/main/json-structure/amazon-codepipeline-webhook-definition-structure.json", "name": "WebhookDefinition", "description": "Represents information about a webhook and its definition.", "type": "object", "properties": { "name": { "allOf": [ { "$ref": "#/components/schemas/WebhookName" }, { "description": "The name of the webhook." } ] }, "targetPipeline": { "allOf": [ { "$ref": "#/components/schemas/PipelineName" }, { "description": "The name of the pipeline you want to connect to the webhook." } ] }, "targetAction": { "allOf": [ { "$ref": "#/components/schemas/ActionName" }, { "description": "The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline." } ] }, "filters": { "allOf": [ { "$ref": "#/components/schemas/WebhookFilters" }, { "description": "A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started." } ] }, "authentication": { "allOf": [ { "$ref": "#/components/schemas/WebhookAuthenticationType" }, { "description": "
Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.
For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks on the GitHub Developer website.
IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.
UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
SecretToken property must be set. For IP, only the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set."
}
]
}
},
"required": [
"name",
"targetPipeline",
"targetAction",
"filters",
"authentication",
"authenticationConfiguration"
]
}