Resource: aws_codebuild_webhook

Manages a CodeBuild webhook, which is an endpoint accepted by the CodeBuild service to trigger builds from source code repositories. Depending on the source type of the CodeBuild project, the CodeBuild service may also automatically create and delete the actual repository webhook as well.

Example Usage

Bitbucket and GitHub

When working with Bitbucket and GitHub source CodeBuild webhooks, the CodeBuild service will automatically create (on aws_codebuild_webhook resource creation) and delete (on aws_codebuild_webhook resource deletion) the Bitbucket/GitHub repository webhook using its granted OAuth permissions. This behavior cannot be controlled by Terraform.

resource "aws_codebuild_webhook" "example" {
  project_name = aws_codebuild_project.example.name
  build_type   = "BUILD"
  filter_group {
    filter {
      type    = "EVENT"
      pattern = "PUSH"
    }

    filter {
      type    = "BASE_REF"
      pattern = "master"
    }
  }
}

GitHub Enterprise

When working with GitHub Enterprise source CodeBuild webhooks, the GHE repository webhook must be separately managed (e.g., manually or with the github_repository_webhook resource).

More information creating webhooks with GitHub Enterprise can be found in the CodeBuild User Guide.

resource "aws_codebuild_webhook" "example" {
  project_name = aws_codebuild_project.example.name
}

resource "github_repository_webhook" "example" {
  active     = true
  events     = ["push"]
  name       = "example"
  repository = github_repository.example.name

  configuration {
    url          = aws_codebuild_webhook.example.payload_url
    secret       = aws_codebuild_webhook.example.secret
    content_type = "json"
    insecure_ssl = false
  }
}

Argument Reference

This resource supports the following arguments:

filter_group supports the following:

filter supports the following:

Attribute Reference

This resource exports the following attributes in addition to the arguments above:

Import

In Terraform v1.5.0 and later, use an import block to import CodeBuild Webhooks using the CodeBuild Project name. For example:

import {
  to = aws_codebuild_webhook.example
  id = "MyProjectName"
}

Using terraform import, import CodeBuild Webhooks using the CodeBuild Project name. For example:

% terraform import aws_codebuild_webhook.example MyProjectName