Skip to content

[BUG]: Ruleset, required_check should be optional #2467

@marcomansi-ahold

Description

@marcomansi-ahold

Expected Behavior

I want to create a ruleset with a required status check with only "Require branches to be up to date before merging" enabled, like this (created through the UI):

image

Actual Behavior

Error:

│ Error: PUT https://api.github.com/repos/RoyalAholdDelhaize/gso-tech-test-marco_mansi-1/rulesets/2669259: 422 Validation Failed [{Resource: Field: Code: Message:Invalid rule 'required_status_checks': Invalid parameter required_status_checks: Invalid array contents. Errors at index 0: Expected context to be present}]

│ with module.gso_github_repo["gso-tech-test-marco_mansi-1"].github_repository_ruleset.ruleset,
│ on gso_github_repo/main.tf line 84, in resource "github_repository_ruleset" "ruleset":
│ 84: resource "github_repository_ruleset" "ruleset" {

Terraform Version

Terraform 1.9.8
integrations/github 6.3.1

Affected Resource(s)

  • github_repository_ruleset

Terraform Configuration Files

No response

Steps to Reproduce

I am using this code:

resource "github_repository_ruleset" "ruleset" {
  name        = "PRs & conventional commits"
  repository  = github_repository.repo.name
  target      = "branch"
  enforcement = "active"

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

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

    pull_request {
      require_last_push_approval        = true
      dismiss_stale_reviews_on_push     = true
      required_review_thread_resolution = true
      required_approving_review_count   = 1
    }

    required_status_checks {
      required_check {
        context = ""
      }
      strict_required_status_checks_policy = true
    }
  }
}

The required_check block is required and context too. But it cannot be empty

Debug Output

No response

Panic Output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: TriageThis is being looked at and prioritizedType: BugSomething isn't working as documented

    Type

    No type

    Projects

    Status

    🔥 Backlog

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions