github_repository_ruleset (Resource)

Creates a GitHub repository ruleset.

This resource allows you to create and manage rulesets on the repository level. When applied, a new ruleset will be created. When destroyed, that ruleset will be removed.

Example Usage

resource "github_repository" "example" {
  name        = "example"
  description = "Example repository"
}

resource "github_repository_ruleset" "example" {
  name        = "example"
  repository  = github_repository.example.name
  target      = "branch"
  enforcement = "active"

  conditions {
    ref_name {
      include = ["~ALL"]
      exclude = []
    }
  }

  bypass_actors {
    actor_id    = 13473
    actor_type  = "Integration"
    bypass_mode = "always"
  }

  rules {
    creation                = true
    update                  = true
    deletion                = true
    required_linear_history = true
    required_signatures     = true

    required_deployments {
      required_deployment_environments = ["test"]
    }


  }
}

Argument Reference

Rules

The rules block supports the following:

rules.branch_name_pattern

rules.commit_author_email_pattern

rules.commit_message_pattern

rules.committer_email_pattern

rules.pull_request

rules.required_deployments

rules.required_status_checks

rules.required_status_checks.required_check

rules.tag_name_pattern

bypass_actors

conditions

conditions.ref_name

Attributes Reference

The following additional attributes are exported:

Import

GitHub Repository Rulesets can be imported using the GitHub repository name and ruleset ID e.g.

$ terraform import github_repository_ruleset.example example:12345