Skip to content

Commit 4c2d01c

Browse files
committed
Ensure empty bypass_actors clear them from API first
Resolves #2952 Signed-off-by: Timo Sand <[email protected]>
1 parent bc22f7a commit 4c2d01c

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

github/resource_github_organization_ruleset.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,14 @@ func resourceGithubOrganizationRulesetUpdate(ctx context.Context, d *schema.Reso
697697

698698
var ruleset *github.RepositoryRuleset
699699

700+
if d.HasChange("bypass_actors") && len(rulesetReq.BypassActors) == 0 {
701+
// Clear bypass actors first, then update with new ruleset
702+
_, err = client.Organizations.UpdateRepositoryRulesetClearBypassActor(ctx, org, rulesetID)
703+
if err != nil {
704+
return diag.FromErr(err)
705+
}
706+
}
707+
700708
ruleset, _, err = client.Organizations.UpdateRepositoryRuleset(ctx, org, rulesetID, *rulesetReq)
701709
if err != nil {
702710
return diag.FromErr(err)

github/resource_github_repository_ruleset.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,7 @@ func resourceGithubRepositoryRulesetUpdate(d *schema.ResourceData, meta any) err
724724

725725
var ruleset *github.RepositoryRuleset
726726

727-
if d.HasChange("bypass_actors") {
727+
if d.HasChange("bypass_actors") && len(rulesetReq.BypassActors) == 0 {
728728
// Clear bypass actors first, then update with new ruleset
729729
_, err = client.Repositories.UpdateRulesetClearBypassActor(ctx, owner, repoName, rulesetID)
730730
if err != nil {

0 commit comments

Comments
 (0)