Use the REST API to manage rulesets for organizations. Organization rulesets control how people can interact with selected branches and tags in repositories in an organization.
Get all organization repository rulesetsGet all the repository rulesets for an organization.
Fine-grained access tokens for "Get all organization repository rulesets"This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
accept
string
Setting to application/vnd.github+json
is recommended.
org
string Required
The organization name. The name is not case sensitive.
Query parameters Name, Type, Descriptionper_page
integer
The number of results per page (max 100). For more information, see "Using pagination in the REST API."
Default: 30
page
integer
The page number of the results to fetch. For more information, see "Using pagination in the REST API."
Default: 1
targets
string
A comma-separated list of rule targets to filter by. If provided, only rulesets that apply to the specified targets will be returned. For example, branch,tag,push
.
200
OK
404
Resource not found
500
Internal Error
Code samples for "Get all organization repository rulesets" Request exampleCopy to clipboard curl request example
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/rulesets
Response
Status: 200
[ { "id": 21, "name": "super cool ruleset", "source_type": "Organization", "source": "my-org", "enforcement": "enabled", "node_id": "RRS_lACkVXNlcgQB", "_links": { "self": { "href": "https://api.github.com/orgs/my-org/rulesets/21" }, "html": { "href": "https://github.com/organizations/my-org/settings/rules/21" } }, "created_at": "2023-07-15T08:43:03Z", "updated_at": "2023-08-23T16:29:47Z" }, { "id": 432, "name": "Another ruleset", "source_type": "Organization", "source": "my-org", "enforcement": "enabled", "node_id": "RRS_lACkVXNlcgQQ", "_links": { "self": { "href": "https://api.github.com/orgs/my-org/rulesets/432" }, "html": { "href": "https://github.com/organizations/my-org/settings/rules/432" } }, "created_at": "2023-08-15T08:43:03Z", "updated_at": "2023-09-23T16:29:47Z" } ]
Create a repository ruleset for an organization.
Fine-grained access tokens for "Create an organization repository ruleset"This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
accept
string
Setting to application/vnd.github+json
is recommended.
org
string Required
The organization name. The name is not case sensitive.
Body parameters Name, Type, Descriptionname
string Required
The name of the ruleset.
target
string
The target of the ruleset
Default: branch
Can be one of: branch
, tag
, push
, repository
enforcement
string Required
The enforcement level of the ruleset. evaluate
allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (evaluate
is only available with GitHub Enterprise).
Can be one of: disabled
, active
, evaluate
bypass_actors
array of objects
The actors that can bypass the rules in this ruleset
Properties ofbypass_actors
Name, Type, Description
actor_id
integer or null
The ID of the actor that can bypass a ruleset. Required for Integration
, RepositoryRole
, and Team
actor types. If actor_type
is OrganizationAdmin
, this should be 1
. If actor_type
is DeployKey
, this should be null. OrganizationAdmin
is not applicable for personal repositories.
actor_type
string Required
The type of actor that can bypass a ruleset.
Can be one of: Integration
, OrganizationAdmin
, RepositoryRole
, Team
, DeployKey
bypass_mode
string
When the specified actor can bypass the ruleset. pull_request
means that an actor can only bypass rules on pull requests. pull_request
is not applicable for the DeployKey
actor type. Also, pull_request
is only applicable to branch rulesets.
Default: always
Can be one of: always
, pull_request
conditions
object
Conditions for an organization ruleset. The branch and tag rulesets conditions object should contain both repository_name
and ref_name
properties, or both repository_id
and ref_name
properties, or both repository_property
and ref_name
properties. The push rulesets conditions object does not require the ref_name
property. For repository policy rulesets, the conditions object should only contain the repository_name
, the repository_id
, or the repository_property
.
repository_name_and_ref_name
object Required
Conditions to target repositories by name and refs by name
Properties ofrepository_name_and_ref_name
Name, Type, Description
ref_name
object
ref_name
Name, Type, Description
include
array of strings
Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~DEFAULT_BRANCH
to include the default branch or ~ALL
to include all branches.
exclude
array of strings
Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
repository_name
object Required
repository_name
Name, Type, Description
include
array of strings
Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~ALL
to include all repositories.
exclude
array of strings
Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match.
protected
boolean
Whether renaming of target repositories is prevented.
repository_id_and_ref_name
object Required
Conditions to target repositories by id and refs by name
Properties ofrepository_id_and_ref_name
Name, Type, Description
ref_name
object
ref_name
Name, Type, Description
include
array of strings
Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~DEFAULT_BRANCH
to include the default branch or ~ALL
to include all branches.
exclude
array of strings
Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
repository_id
object Required
repository_id
Name, Type, Description
repository_ids
array of integers
The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass.
repository_property_and_ref_name
object Required
Conditions to target repositories by property and refs by name
Properties ofrepository_property_and_ref_name
Name, Type, Description
ref_name
object
ref_name
Name, Type, Description
include
array of strings
Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~DEFAULT_BRANCH
to include the default branch or ~ALL
to include all branches.
exclude
array of strings
Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
repository_property
object Required
repository_property
Name, Type, Description
include
array of objects
The repository properties and values to include. All of these properties must match for the condition to pass.
Properties ofinclude
Name, Type, Description
name
string Required
The name of the repository property to target
property_values
array of strings Required
The values to match for the repository property
source
string
The source of the repository property. Defaults to 'custom' if not specified.
Can be one of: custom
, system
exclude
array of objects
The repository properties and values to exclude. The condition will not pass if any of these properties match.
Properties ofexclude
Name, Type, Description
name
string Required
The name of the repository property to target
property_values
array of strings Required
The values to match for the repository property
source
string
The source of the repository property. Defaults to 'custom' if not specified.
Can be one of: custom
, system
rules
array of objects
An array of rules within the ruleset.
Can be one of these objects: Name, Type, Descriptioncreation
object Required
Only allow users with bypass permission to create matching refs.
Properties ofcreation
Name, Type, Description
type
string Required
Value: creation
update
object Required
Only allow users with bypass permission to update matching refs.
Properties ofupdate
Name, Type, Description
type
string Required
Value: update
parameters
object
parameters
Name, Type, Description
update_allows_fetch_and_merge
boolean Required
Branch can pull changes from its upstream repository
deletion
object Required
Only allow users with bypass permissions to delete matching refs.
Properties ofdeletion
Name, Type, Description
type
string Required
Value: deletion
required_linear_history
object Required
Prevent merge commits from being pushed to matching refs.
Properties ofrequired_linear_history
Name, Type, Description
type
string Required
Value: required_linear_history
required_deployments
object Required
Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule.
Properties ofrequired_deployments
Name, Type, Description
type
string Required
Value: required_deployments
parameters
object
parameters
Name, Type, Description
required_deployment_environments
array of strings Required
The environments that must be successfully deployed to before branches can be merged.
required_signatures
object Required
Commits pushed to matching refs must have verified signatures.
Properties ofrequired_signatures
Name, Type, Description
type
string Required
Value: required_signatures
pull_request
object Required
Require all commits be made to a non-target branch and submitted via a pull request before they can be merged.
Properties ofpull_request
Name, Type, Description
type
string Required
Value: pull_request
parameters
object
parameters
Name, Type, Description
allowed_merge_methods
array of strings
Array of allowed merge methods. Allowed values include merge
, squash
, and rebase
. At least one option must be enabled. Supported values are: merge
, squash
, rebase
automatic_copilot_code_review_enabled
boolean
Request Copilot code review for new pull requests automatically if the author has access to Copilot code review.
dismiss_stale_reviews_on_push
boolean Required
New, reviewable commits pushed will dismiss previous pull request review approvals.
require_code_owner_review
boolean Required
Require an approving review in pull requests that modify files that have a designated code owner.
require_last_push_approval
boolean Required
Whether the most recent reviewable push must be approved by someone other than the person who pushed it.
required_approving_review_count
integer Required
The number of approving reviews that are required before a pull request can be merged.
required_review_thread_resolution
boolean Required
All conversations on code must be resolved before a pull request can be merged.
required_status_checks
object Required
Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass.
Properties ofrequired_status_checks
Name, Type, Description
type
string Required
Value: required_status_checks
parameters
object
parameters
Name, Type, Description
do_not_enforce_on_create
boolean
Allow repositories and branches to be created if a check would otherwise prohibit it.
required_status_checks
array of objects Required
Status checks that are required.
Properties ofrequired_status_checks
Name, Type, Description
context
string Required
The status check context name that must be present on the commit.
integration_id
integer
The optional integration ID that this status check must originate from.
strict_required_status_checks_policy
boolean Required
Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled.
non_fast_forward
object Required
Prevent users with push access from force pushing to refs.
Properties ofnon_fast_forward
Name, Type, Description
type
string Required
Value: non_fast_forward
commit_message_pattern
object Required
Parameters to be used for the commit_message_pattern rule
Properties ofcommit_message_pattern
Name, Type, Description
type
string Required
Value: commit_message_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
commit_author_email_pattern
object Required
Parameters to be used for the commit_author_email_pattern rule
Name, Type, Descriptiontype
string Required
Value: commit_author_email_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
committer_email_pattern
object Required
Parameters to be used for the committer_email_pattern rule
Properties ofcommitter_email_pattern
Name, Type, Description
type
string Required
Value: committer_email_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
branch_name_pattern
object Required
Parameters to be used for the branch_name_pattern rule
Properties ofbranch_name_pattern
Name, Type, Description
type
string Required
Value: branch_name_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
tag_name_pattern
object Required
Parameters to be used for the tag_name_pattern rule
Properties oftag_name_pattern
Name, Type, Description
type
string Required
Value: tag_name_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
file_path_restriction
object Required
Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names.
Properties offile_path_restriction
Name, Type, Description
type
string Required
Value: file_path_restriction
parameters
object
parameters
Name, Type, Description
restricted_file_paths
array of strings Required
The file paths that are restricted from being pushed to the commit graph.
max_file_path_length
object Required
Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph.
Properties ofmax_file_path_length
Name, Type, Description
type
string Required
Value: max_file_path_length
parameters
object
parameters
Name, Type, Description
max_file_path_length
integer Required
The maximum amount of characters allowed in file paths.
file_extension_restriction
object Required
Prevent commits that include files with specified file extensions from being pushed to the commit graph.
Properties offile_extension_restriction
Name, Type, Description
type
string Required
Value: file_extension_restriction
parameters
object
parameters
Name, Type, Description
restricted_file_extensions
array of strings Required
The file extensions that are restricted from being pushed to the commit graph.
max_file_size
object Required
Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph.
Properties ofmax_file_size
Name, Type, Description
type
string Required
Value: max_file_size
parameters
object
parameters
Name, Type, Description
max_file_size
integer Required
The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS).
workflows
object Required
Require all changes made to a targeted branch to pass the specified workflows before they can be merged.
Properties ofworkflows
Name, Type, Description
type
string Required
Value: workflows
parameters
object
parameters
Name, Type, Description
do_not_enforce_on_create
boolean
Allow repositories and branches to be created if a check would otherwise prohibit it.
workflows
array of objects Required
Workflows that must pass for this rule to pass.
Properties ofworkflows
Name, Type, Description
path
string Required
The path to the workflow file
ref
string
The ref (branch or tag) of the workflow file to use
repository_id
integer Required
The ID of the repository where the workflow is defined
sha
string
The commit SHA of the workflow file to use
code_scanning
object Required
Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated.
Properties ofcode_scanning
Name, Type, Description
type
string Required
Value: code_scanning
parameters
object
parameters
Name, Type, Description
code_scanning_tools
array of objects Required
Tools that must provide code scanning results for this rule to pass.
Properties ofcode_scanning_tools
Name, Type, Description
alerts_threshold
string Required
The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "About code scanning alerts."
Can be one of: none
, errors
, errors_and_warnings
, all
security_alerts_threshold
string Required
The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "About code scanning alerts."
Can be one of: none
, critical
, high_or_higher
, medium_or_higher
, all
tool
string Required
The name of a code scanning tool
HTTP response status codes for "Create an organization repository ruleset" Status code Description201
Created
404
Resource not found
500
Internal Error
Code samples for "Create an organization repository ruleset" Request exampleCopy to clipboard curl request example
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/rulesets \ -d '{"name":"super cool ruleset","target":"branch","enforcement":"active","bypass_actors":[{"actor_id":234,"actor_type":"Team","bypass_mode":"always"}],"conditions":{"ref_name":{"include":["refs/heads/main","refs/heads/master"],"exclude":["refs/heads/dev*"]},"repository_name":{"include":["important_repository","another_important_repository"],"exclude":["unimportant_repository"],"protected":true}},"rules":[{"type":"commit_author_email_pattern","parameters":{"operator":"contains","pattern":"github"}}]}'
Response
Status: 201
{ "id": 21, "name": "super cool ruleset", "target": "branch", "source_type": "Organization", "source": "my-org", "enforcement": "active", "bypass_actors": [ { "actor_id": 234, "actor_type": "Team", "bypass_mode": "always" } ], "conditions": { "ref_name": { "include": [ "refs/heads/main", "refs/heads/master" ], "exclude": [ "refs/heads/dev*" ] }, "repository_name": { "include": [ "important_repository", "another_important_repository" ], "exclude": [ "unimportant_repository" ], "protected": true } }, "rules": [ { "type": "commit_author_email_pattern", "parameters": { "operator": "contains", "pattern": "github" } } ], "node_id": "RRS_lACkVXNlcgQB", "_links": { "self": { "href": "https://api.github.com/orgs/my-org/rulesets/21" }, "html": { "href": "https://github.com/organizations/my-org/settings/rules/21" } }, "created_at": "2023-08-15T08:43:03Z", "updated_at": "2023-09-23T16:29:47Z" }
get/orgs/{org}/rulesets/{ruleset_id}
Copy to clipboard curl request example
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/rulesets/RULESET_ID
Response
Status: 200
{ "id": 21, "name": "super cool ruleset", "target": "branch", "source_type": "Organization", "source": "my-org", "enforcement": "active", "bypass_actors": [ { "actor_id": 234, "actor_type": "Team", "bypass_mode": "always" } ], "conditions": { "ref_name": { "include": [ "refs/heads/main", "refs/heads/master" ], "exclude": [ "refs/heads/dev*" ] }, "repository_name": { "include": [ "important_repository", "another_important_repository" ], "exclude": [ "unimportant_repository" ], "protected": true } }, "rules": [ { "type": "commit_author_email_pattern", "parameters": { "operator": "contains", "pattern": "github" } } ], "node_id": "RRS_lACkVXNlcgQB", "_links": { "self": { "href": "https://api.github.com/orgs/my-org/rulesets/21" }, "html": { "href": "https://github.com/organizations/my-org/settings/rules/21" } }, "created_at": "2023-08-15T08:43:03Z", "updated_at": "2023-09-23T16:29:47Z" }
Update a ruleset for an organization.
Fine-grained access tokens for "Update an organization repository ruleset"This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
accept
string
Setting to application/vnd.github+json
is recommended.
org
string Required
The organization name. The name is not case sensitive.
ruleset_id
integer Required
The ID of the ruleset.
Body parameters Name, Type, Descriptionname
string
The name of the ruleset.
target
string
The target of the ruleset
Can be one of: branch
, tag
, push
, repository
enforcement
string
The enforcement level of the ruleset. evaluate
allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (evaluate
is only available with GitHub Enterprise).
Can be one of: disabled
, active
, evaluate
bypass_actors
array of objects
The actors that can bypass the rules in this ruleset
Properties ofbypass_actors
Name, Type, Description
actor_id
integer or null
The ID of the actor that can bypass a ruleset. Required for Integration
, RepositoryRole
, and Team
actor types. If actor_type
is OrganizationAdmin
, this should be 1
. If actor_type
is DeployKey
, this should be null. OrganizationAdmin
is not applicable for personal repositories.
actor_type
string Required
The type of actor that can bypass a ruleset.
Can be one of: Integration
, OrganizationAdmin
, RepositoryRole
, Team
, DeployKey
bypass_mode
string
When the specified actor can bypass the ruleset. pull_request
means that an actor can only bypass rules on pull requests. pull_request
is not applicable for the DeployKey
actor type. Also, pull_request
is only applicable to branch rulesets.
Default: always
Can be one of: always
, pull_request
conditions
object
Conditions for an organization ruleset. The branch and tag rulesets conditions object should contain both repository_name
and ref_name
properties, or both repository_id
and ref_name
properties, or both repository_property
and ref_name
properties. The push rulesets conditions object does not require the ref_name
property. For repository policy rulesets, the conditions object should only contain the repository_name
, the repository_id
, or the repository_property
.
repository_name_and_ref_name
object Required
Conditions to target repositories by name and refs by name
Properties ofrepository_name_and_ref_name
Name, Type, Description
ref_name
object
ref_name
Name, Type, Description
include
array of strings
Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~DEFAULT_BRANCH
to include the default branch or ~ALL
to include all branches.
exclude
array of strings
Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
repository_name
object Required
repository_name
Name, Type, Description
include
array of strings
Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~ALL
to include all repositories.
exclude
array of strings
Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match.
protected
boolean
Whether renaming of target repositories is prevented.
repository_id_and_ref_name
object Required
Conditions to target repositories by id and refs by name
Properties ofrepository_id_and_ref_name
Name, Type, Description
ref_name
object
ref_name
Name, Type, Description
include
array of strings
Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~DEFAULT_BRANCH
to include the default branch or ~ALL
to include all branches.
exclude
array of strings
Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
repository_id
object Required
repository_id
Name, Type, Description
repository_ids
array of integers
The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass.
repository_property_and_ref_name
object Required
Conditions to target repositories by property and refs by name
Properties ofrepository_property_and_ref_name
Name, Type, Description
ref_name
object
ref_name
Name, Type, Description
include
array of strings
Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts ~DEFAULT_BRANCH
to include the default branch or ~ALL
to include all branches.
exclude
array of strings
Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match.
repository_property
object Required
repository_property
Name, Type, Description
include
array of objects
The repository properties and values to include. All of these properties must match for the condition to pass.
Properties ofinclude
Name, Type, Description
name
string Required
The name of the repository property to target
property_values
array of strings Required
The values to match for the repository property
source
string
The source of the repository property. Defaults to 'custom' if not specified.
Can be one of: custom
, system
exclude
array of objects
The repository properties and values to exclude. The condition will not pass if any of these properties match.
Properties ofexclude
Name, Type, Description
name
string Required
The name of the repository property to target
property_values
array of strings Required
The values to match for the repository property
source
string
The source of the repository property. Defaults to 'custom' if not specified.
Can be one of: custom
, system
rules
array of objects
An array of rules within the ruleset.
Can be one of these objects: Name, Type, Descriptioncreation
object Required
Only allow users with bypass permission to create matching refs.
Properties ofcreation
Name, Type, Description
type
string Required
Value: creation
update
object Required
Only allow users with bypass permission to update matching refs.
Properties ofupdate
Name, Type, Description
type
string Required
Value: update
parameters
object
parameters
Name, Type, Description
update_allows_fetch_and_merge
boolean Required
Branch can pull changes from its upstream repository
deletion
object Required
Only allow users with bypass permissions to delete matching refs.
Properties ofdeletion
Name, Type, Description
type
string Required
Value: deletion
required_linear_history
object Required
Prevent merge commits from being pushed to matching refs.
Properties ofrequired_linear_history
Name, Type, Description
type
string Required
Value: required_linear_history
required_deployments
object Required
Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule.
Properties ofrequired_deployments
Name, Type, Description
type
string Required
Value: required_deployments
parameters
object
parameters
Name, Type, Description
required_deployment_environments
array of strings Required
The environments that must be successfully deployed to before branches can be merged.
required_signatures
object Required
Commits pushed to matching refs must have verified signatures.
Properties ofrequired_signatures
Name, Type, Description
type
string Required
Value: required_signatures
pull_request
object Required
Require all commits be made to a non-target branch and submitted via a pull request before they can be merged.
Properties ofpull_request
Name, Type, Description
type
string Required
Value: pull_request
parameters
object
parameters
Name, Type, Description
allowed_merge_methods
array of strings
Array of allowed merge methods. Allowed values include merge
, squash
, and rebase
. At least one option must be enabled. Supported values are: merge
, squash
, rebase
automatic_copilot_code_review_enabled
boolean
Request Copilot code review for new pull requests automatically if the author has access to Copilot code review.
dismiss_stale_reviews_on_push
boolean Required
New, reviewable commits pushed will dismiss previous pull request review approvals.
require_code_owner_review
boolean Required
Require an approving review in pull requests that modify files that have a designated code owner.
require_last_push_approval
boolean Required
Whether the most recent reviewable push must be approved by someone other than the person who pushed it.
required_approving_review_count
integer Required
The number of approving reviews that are required before a pull request can be merged.
required_review_thread_resolution
boolean Required
All conversations on code must be resolved before a pull request can be merged.
required_status_checks
object Required
Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass.
Properties ofrequired_status_checks
Name, Type, Description
type
string Required
Value: required_status_checks
parameters
object
parameters
Name, Type, Description
do_not_enforce_on_create
boolean
Allow repositories and branches to be created if a check would otherwise prohibit it.
required_status_checks
array of objects Required
Status checks that are required.
Properties ofrequired_status_checks
Name, Type, Description
context
string Required
The status check context name that must be present on the commit.
integration_id
integer
The optional integration ID that this status check must originate from.
strict_required_status_checks_policy
boolean Required
Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled.
non_fast_forward
object Required
Prevent users with push access from force pushing to refs.
Properties ofnon_fast_forward
Name, Type, Description
type
string Required
Value: non_fast_forward
commit_message_pattern
object Required
Parameters to be used for the commit_message_pattern rule
Properties ofcommit_message_pattern
Name, Type, Description
type
string Required
Value: commit_message_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
commit_author_email_pattern
object Required
Parameters to be used for the commit_author_email_pattern rule
Properties ofcommit_author_email_pattern
Name, Type, Description
type
string Required
Value: commit_author_email_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
committer_email_pattern
object Required
Parameters to be used for the committer_email_pattern rule
Properties ofcommitter_email_pattern
Name, Type, Description
type
string Required
Value: committer_email_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
branch_name_pattern
object Required
Parameters to be used for the branch_name_pattern rule
Properties ofbranch_name_pattern
Name, Type, Description
type
string Required
Value: branch_name_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
tag_name_pattern
object Required
Parameters to be used for the tag_name_pattern rule
Properties oftag_name_pattern
Name, Type, Description
type
string Required
Value: tag_name_pattern
parameters
object
parameters
Name, Type, Description
name
string
How this rule will appear to users.
negate
boolean
If true, the rule will fail if the pattern matches.
operator
string Required
The operator to use for matching.
Can be one of: starts_with
, ends_with
, contains
, regex
pattern
string Required
The pattern to match with.
file_path_restriction
object Required
Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names.
Properties offile_path_restriction
Name, Type, Description
type
string Required
Value: file_path_restriction
parameters
object
parameters
Name, Type, Description
restricted_file_paths
array of strings Required
The file paths that are restricted from being pushed to the commit graph.
max_file_path_length
object Required
Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph.
Properties ofmax_file_path_length
Name, Type, Description
type
string Required
Value: max_file_path_length
parameters
object
parameters
Name, Type, Description
max_file_path_length
integer Required
The maximum amount of characters allowed in file paths.
file_extension_restriction
object Required
Prevent commits that include files with specified file extensions from being pushed to the commit graph.
Properties offile_extension_restriction
Name, Type, Description
type
string Required
Value: file_extension_restriction
parameters
object
parameters
Name, Type, Description
restricted_file_extensions
array of strings Required
The file extensions that are restricted from being pushed to the commit graph.
max_file_size
object Required
Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph.
Properties ofmax_file_size
Name, Type, Description
type
string Required
Value: max_file_size
parameters
object
parameters
Name, Type, Description
max_file_size
integer Required
The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS).
workflows
object Required
Require all changes made to a targeted branch to pass the specified workflows before they can be merged.
Properties ofworkflows
Name, Type, Description
type
string Required
Value: workflows
parameters
object
parameters
Name, Type, Description
do_not_enforce_on_create
boolean
Allow repositories and branches to be created if a check would otherwise prohibit it.
workflows
array of objects Required
Workflows that must pass for this rule to pass.
Properties ofworkflows
Name, Type, Description
path
string Required
The path to the workflow file
ref
string
The ref (branch or tag) of the workflow file to use
repository_id
integer Required
The ID of the repository where the workflow is defined
sha
string
The commit SHA of the workflow file to use
code_scanning
object Required
Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated.
Properties ofcode_scanning
Name, Type, Description
type
string Required
Value: code_scanning
parameters
object
parameters
Name, Type, Description
code_scanning_tools
array of objects Required
Tools that must provide code scanning results for this rule to pass.
Properties ofcode_scanning_tools
Name, Type, Description
alerts_threshold
string Required
The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "About code scanning alerts."
Can be one of: none
, errors
, errors_and_warnings
, all
security_alerts_threshold
string Required
The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "About code scanning alerts."
Can be one of: none
, critical
, high_or_higher
, medium_or_higher
, all
tool
string Required
The name of a code scanning tool
HTTP response status codes for "Update an organization repository ruleset" Status code Description200
OK
404
Resource not found
500
Internal Error
Code samples for "Update an organization repository ruleset" Request exampleput/orgs/{org}/rulesets/{ruleset_id}
Copy to clipboard curl request example
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/rulesets/RULESET_ID \ -d '{"name":"super cool ruleset","target":"branch","enforcement":"active","bypass_actors":[{"actor_id":234,"actor_type":"Team","bypass_mode":"always"}],"conditions":{"ref_name":{"include":["refs/heads/main","refs/heads/master"],"exclude":["refs/heads/dev*"]},"repository_name":{"include":["important_repository","another_important_repository"],"exclude":["unimportant_repository"],"protected":true}},"rules":[{"type":"commit_author_email_pattern","parameters":{"operator":"contains","pattern":"github"}}]}'
Response
Status: 200
{ "id": 21, "name": "super cool ruleset", "target": "branch", "source_type": "Organization", "source": "my-org", "enforcement": "active", "bypass_actors": [ { "actor_id": 234, "actor_type": "Team", "bypass_mode": "always" } ], "conditions": { "ref_name": { "include": [ "refs/heads/main", "refs/heads/master" ], "exclude": [ "refs/heads/dev*" ] }, "repository_name": { "include": [ "important_repository", "another_important_repository" ], "exclude": [ "unimportant_repository" ], "protected": true } }, "rules": [ { "type": "commit_author_email_pattern", "parameters": { "operator": "contains", "pattern": "github" } } ], "node_id": "RRS_lACkVXNlcgQB", "_links": { "self": { "href": "https://api.github.com/orgs/my-org/rulesets/21" }, "html": { "href": "https://github.com/organizations/my-org/settings/rules/21" } }, "created_at": "2023-08-15T08:43:03Z", "updated_at": "2023-09-23T16:29:47Z" }
get/orgs/{org}/rulesets/{ruleset_id}/history
Copy to clipboard curl request example
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/rulesets/RULESET_ID/history
Response
Status: 200
[ { "version_id": 3, "actor": { "id": 1, "type": "User" }, "updated_at": "2024-010-23T16:29:47Z" }, { "version_id": 2, "actor": { "id": 2, "type": "User" }, "updated_at": "2024-09-23T16:29:47Z" }, { "version_id": 1, "actor": { "id": 1, "type": "User" }, "updated_at": "2024-08-23T16:29:47Z" } ]
get/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}
Copy to clipboard curl request example
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/rulesets/RULESET_ID/history/VERSION_ID
Response
Status: 200
[ { "version_id": 3, "actor": { "id": 1, "type": "User" }, "updated_at": "2024-010-23T16:29:47Z", "state": { "id": 21, "name": "super cool ruleset", "target": "branch", "source_type": "Organization", "source": "my-org", "enforcement": "active", "bypass_actors": [ { "actor_id": 234, "actor_type": "Team", "bypass_mode": "always" } ], "conditions": { "ref_name": { "include": [ "refs/heads/main", "refs/heads/master" ], "exclude": [ "refs/heads/dev*" ] }, "repository_name": { "include": [ "important_repository", "another_important_repository" ], "exclude": [ "unimportant_repository" ], "protected": true } }, "rules": [ { "type": "commit_author_email_pattern", "parameters": { "operator": "contains", "pattern": "github" } } ] } } ]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4