Skip to content

feat(enterprise): add resource and data source for github_enterprise_ruleset #79

@vmvarela

Description

@vmvarela

Description

Add full CRUD resource and data source for enterprise-level repository rulesets, enabling policy enforcement across all repositories in an enterprise.

This is the enterprise-scope equivalent of the existing github_repository_ruleset resource.

go-github v84 API

func (s *EnterpriseService) CreateRepositoryRuleset(ctx context.Context, enterprise string, ruleset RepositoryRuleset) (*RepositoryRuleset, *Response, error)
func (s *EnterpriseService) GetRepositoryRuleset(ctx context.Context, enterprise string, rulesetID int64) (*RepositoryRuleset, *Response, error)
func (s *EnterpriseService) UpdateRepositoryRuleset(ctx context.Context, enterprise string, rulesetID int64, ruleset RepositoryRuleset) (*RepositoryRuleset, *Response, error)
func (s *EnterpriseService) DeleteRepositoryRuleset(ctx context.Context, enterprise string, rulesetID int64) (*Response, error)
// No ListRepositoryRulesets method in enterprise_rules.go — check if available via pagination

Note: Uses the shared RepositoryRuleset struct (same as org/repo rulesets).

Acceptance Criteria

  • Resource github_enterprise_ruleset with Create, Read, Update, Delete
  • Schema mirrors github_repository_ruleset with enterprise_slug instead of repository/owner
  • Import via enterprise_slug:ruleset_id
  • Data source github_enterprise_ruleset for read-only lookup by ID
  • Registered in provider.go
  • Docs at website/docs/r/enterprise_ruleset.html.markdown and d/enterprise_ruleset.html.markdown
  • Acceptance tests

Notes

  • Reference existing resource_github_repository_ruleset.go for schema structure
  • BypassActors, Conditions, Rules are the complex nested schema parts

Metadata

Metadata

Assignees

No one assigned

    Labels

    mvpPart of the Minimum Viable Productpriority:mediumShould be done soonsize:lLarge — 1 to 2 daystype:featureNew functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions