This resource allows you to create and manage webhooks for repositories within your GitHub organization or personal account.
resource "github_repository" "repo" {
name = "foo"
description = "Terraform acceptance tests"
homepage_url = "http://example.com/"
visibility = "public"
}
resource "github_repository_webhook" "foo" {
repository = github_repository.repo.name
configuration {
url = "https://google.de/"
content_type = "form"
insecure_ssl = false
}
active = false
events = ["issues"]
}
The following arguments are supported:
repository
- (Required) The repository of the webhook.
events
- (Required) A list of events which should trigger the webhook. See a list of available events.
configuration
- (Required) Configuration block for the webhook. Detailed below.
active
- (Optional) Indicate if the webhook should receive events. Defaults to true
.
url
- (Required) The URL of the webhook.
content_type
- (Required) The content type for the payload. Valid values are either form
or json
.
secret
- (Optional) The shared secret for the webhook. See API documentation.
insecure_ssl
- (Optional) Insecure SSL boolean toggle. Defaults to false
.
The following additional attributes are exported:
url
- URL of the webhook. This is a sensitive attribute because it may include basic auth credentials.Repository webhooks can be imported using the name
of the repository, combined with the id
of the webhook, separated by a /
character.
The id
of the webhook can be found in the URL of the webhook. For example: "https://github.com/foo-org/foo-repo/settings/hooks/14711452"
.
Importing uses the name of the repository, as well as the ID of the webhook, e.g.
$ terraform import github_repository_webhook.terraform terraform/11235813
If secret is populated in the webhook's configuration, the value will be imported as "**".