규칙에 대한 REST API 엔드포인트
REST API를 사용하여 조직의 규칙 집합을 관리합니다. 조직 규칙 집합은 사용자가 조직의 리포지토리에서 선택한 분기 및 태그와 상호 작용하는 방법을 제어합니다.
Get all organization repository rulesets
Get all the repository rulesets for an organization.
"Get all organization repository rulesets"에 대한 세분화된 액세스 토큰
이 엔드포인트는 다음 세분화된 토큰 형식에서 작동합니다.:
세분화된 토큰에는 다음 권한 집합이 있어야 합니다.:
- "Administration" organization permissions (write)
"Get all organization repository rulesets"에 대한 매개 변수
속성, 형식, 설명 |
---|
accept string Setting to |
속성, 형식, 설명 |
---|
org string RequiredThe organization name. The name is not case sensitive. |
속성, 형식, 설명 |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." 기본값: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." 기본값: |
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, |
"Get all organization repository rulesets"에 대한 HTTP 응답 상태 코드
상태 코드 | 설명 |
---|---|
200 | OK |
404 | Resource not found |
500 | Internal Error |
"Get all organization repository rulesets"에 대한 코드 샘플
요청 예제
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/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://HOSTNAME/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://HOSTNAME/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 an organization repository ruleset
Create a repository ruleset for an organization.
"Create an organization repository ruleset"에 대한 세분화된 액세스 토큰
이 엔드포인트는 다음 세분화된 토큰 형식에서 작동합니다.:
세분화된 토큰에는 다음 권한 집합이 있어야 합니다.:
- "Administration" organization permissions (write)
"Create an organization repository ruleset"에 대한 매개 변수
속성, 형식, 설명 |
---|
accept string Setting to |
속성, 형식, 설명 |
---|
org string RequiredThe organization name. The name is not case sensitive. |
속성, 형식, 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name string RequiredThe name of the ruleset. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
target string The target of the ruleset. 기본값: 다음 중 하나일 수 있습니다.: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enforcement string RequiredThe enforcement level of the ruleset. 다음 중 하나일 수 있습니다.: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bypass_actors array of objects The actors that can bypass the rules in this ruleset | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Properties of |
속성, 형식, 설명 |
---|
actor_id integer RequiredThe ID of the actor that can bypass a ruleset. If |
actor_type string RequiredThe type of actor that can bypass a ruleset 다음 중 하나일 수 있습니다.: |
bypass_mode string RequiredWhen the specified actor can bypass the ruleset. 기본값: 다음 중 하나일 수 있습니다.: |
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.
Can be one of these objects:
속성, 형식, 설명 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
repository_name_and_ref_name object RequiredConditions to target repositories by name and refs by name | |||||||||||||||||||||
Properties of |
속성, 형식, 설명 | ||||
---|---|---|---|---|
ref_name object | ||||
Properties of |
속성, 형식, 설명 |
---|
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 |
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 RequiredProperties of repository_name
속성, 형식, 설명 |
---|
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 |
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 RequiredConditions to target repositories by id and refs by name
Properties of repository_id_and_ref_name
속성, 형식, 설명 | |||
---|---|---|---|
ref_name object | |||
Properties of |
속성, 형식, 설명 |
---|
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 |
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 RequiredProperties of repository_id
속성, 형식, 설명 |
---|
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 RequiredConditions to target repositories by property and refs by name
Properties of repository_property_and_ref_name
속성, 형식, 설명 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ref_name object | |||||||||||||
Properties of |
속성, 형식, 설명 |
---|
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 |
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 RequiredProperties of repository_property
속성, 형식, 설명 | ||||
---|---|---|---|---|
include array of objects The repository properties and values to include. All of these properties must match for the condition to pass. | ||||
Properties of |
속성, 형식, 설명 |
---|
name string RequiredThe name of the repository property to target |
property_values array of strings RequiredThe values to match for the repository property |
source string The source of the repository property. Defaults to 'custom' if not specified. 다음 중 하나일 수 있습니다.: |
exclude
array of objects The repository properties and values to exclude. The condition will not pass if any of these properties match.
Properties of exclude
속성, 형식, 설명 |
---|
name string RequiredThe name of the repository property to target |
property_values array of strings RequiredThe values to match for the repository property |
source string The source of the repository property. Defaults to 'custom' if not specified. 다음 중 하나일 수 있습니다.: |
rules
array of objects An array of rules within the ruleset.
Can be one of these objects:
속성, 형식, 설명 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
creation object RequiredOnly allow users with bypass permission to create matching refs. | |||||||||||||
Properties of |
속성, 형식, 설명 |
---|
type string Required값: |
update
object RequiredOnly allow users with bypass permission to update matching refs.
Properties of update
속성, 형식, 설명 | ||
---|---|---|
type string Required값: | ||
parameters object | ||
Properties of |
속성, 형식, 설명 |
---|
update_allows_fetch_and_merge boolean RequiredBranch can pull changes from its upstream repository |
deletion
object RequiredOnly allow users with bypass permissions to delete matching refs.
Properties of deletion
속성, 형식, 설명 |
---|
type string Required값: |
required_linear_history
object RequiredPrevent merge commits from being pushed to matching refs.
Properties of required_linear_history
속성, 형식, 설명 |
---|
type string Required값: |
required_deployments
object RequiredChoose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule.
Properties of required_deployments
속성, 형식, 설명 | ||
---|---|---|
type string Required값: | ||
parameters object | ||
Properties of |
속성, 형식, 설명 |
---|
required_deployment_environments array of strings RequiredThe environments that must be successfully deployed to before branches can be merged. |
required_signatures
object RequiredCommits pushed to matching refs must have verified signatures.
Properties of required_signatures
속성, 형식, 설명 |
---|
type string Required값: |
pull_request
object RequiredRequire all commits be made to a non-target branch and submitted via a pull request before they can be merged.
Properties of pull_request
속성, 형식, 설명 | |||||||
---|---|---|---|---|---|---|---|
type string Required값: | |||||||
parameters object | |||||||
Properties of |
속성, 형식, 설명 |
---|
allowed_merge_methods array of strings When merging pull requests, you can allow any combination of merge commits, squashing, or rebasing. At least one option must be enabled. |
dismiss_stale_reviews_on_push boolean RequiredNew, reviewable commits pushed will dismiss previous pull request review approvals. |
require_code_owner_review boolean RequiredRequire an approving review in pull requests that modify files that have a designated code owner. |
require_last_push_approval boolean RequiredWhether the most recent reviewable push must be approved by someone other than the person who pushed it. |
required_approving_review_count integer RequiredThe number of approving reviews that are required before a pull request can be merged. |
required_review_thread_resolution boolean RequiredAll conversations on code must be resolved before a pull request can be merged. |
required_status_checks
object RequiredChoose 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 of required_status_checks
속성, 형식, 설명 | ||||||||
---|---|---|---|---|---|---|---|---|
type string Required값: | ||||||||
parameters object | ||||||||
Properties of |
속성, 형식, 설명 | |||
---|---|---|---|
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 RequiredStatus checks that are required. | |||
Properties of |
속성, 형식, 설명 |
---|
context string RequiredThe 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 RequiredWhether 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 RequiredPrevent users with push access from force pushing to refs.
Properties of non_fast_forward
속성, 형식, 설명 |
---|
type string Required값: |
commit_message_pattern
object RequiredParameters to be used for the commit_message_pattern rule
Properties of commit_message_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
commit_author_email_pattern
object RequiredParameters to be used for the commit_author_email_pattern rule
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
committer_email_pattern
object RequiredParameters to be used for the committer_email_pattern rule
Properties of committer_email_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
branch_name_pattern
object RequiredParameters to be used for the branch_name_pattern rule
Properties of branch_name_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
tag_name_pattern
object RequiredParameters to be used for the tag_name_pattern rule
Properties of tag_name_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
workflows
object RequiredRequire all changes made to a targeted branch to pass the specified workflows before they can be merged.
Properties of workflows
속성, 형식, 설명 | |||||||||
---|---|---|---|---|---|---|---|---|---|
type string Required값: | |||||||||
parameters object | |||||||||
Properties of |
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
do_not_enforce_on_create boolean Allow repositories and branches to be created if a check would otherwise prohibit it. | |||||
workflows array of objects RequiredWorkflows that must pass for this rule to pass. | |||||
Properties of |
속성, 형식, 설명 |
---|
path string RequiredThe path to the workflow file |
ref string The ref (branch or tag) of the workflow file to use |
repository_id integer RequiredThe ID of the repository where the workflow is defined |
sha string The commit SHA of the workflow file to use |
source_type
string The type of the source of the ruleset
다음 중 하나일 수 있습니다.: Repository
, Organization
"Create an organization repository ruleset"에 대한 HTTP 응답 상태 코드
상태 코드 | 설명 |
---|---|
201 | Created |
404 | Resource not found |
500 | Internal Error |
"Create an organization repository ruleset"에 대한 코드 샘플
요청 예제
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/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://HOSTNAME/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 an organization repository ruleset
Get a repository ruleset for an organization.
Note: To prevent leaking sensitive information, the bypass_actors
property is only returned if the user
making the API request has write access to the ruleset.
"Get an organization repository ruleset"에 대한 세분화된 액세스 토큰
이 엔드포인트는 다음 세분화된 토큰 형식에서 작동합니다.:
세분화된 토큰에는 다음 권한 집합이 있어야 합니다.:
- "Administration" organization permissions (write)
"Get an organization repository ruleset"에 대한 매개 변수
속성, 형식, 설명 |
---|
accept string Setting to |
속성, 형식, 설명 |
---|
org string RequiredThe organization name. The name is not case sensitive. |
ruleset_id integer RequiredThe ID of the ruleset. |
"Get an organization repository ruleset"에 대한 HTTP 응답 상태 코드
상태 코드 | 설명 |
---|---|
200 | OK |
404 | Resource not found |
500 | Internal Error |
"Get an organization repository ruleset"에 대한 코드 샘플
요청 예제
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/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://HOSTNAME/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 an organization repository ruleset
Update a ruleset for an organization.
"Update an organization repository ruleset"에 대한 세분화된 액세스 토큰
이 엔드포인트는 다음 세분화된 토큰 형식에서 작동합니다.:
세분화된 토큰에는 다음 권한 집합이 있어야 합니다.:
- "Administration" organization permissions (write)
"Update an organization repository ruleset"에 대한 매개 변수
속성, 형식, 설명 |
---|
accept string Setting to |
속성, 형식, 설명 |
---|
org string RequiredThe organization name. The name is not case sensitive. |
ruleset_id integer RequiredThe ID of the ruleset. |
속성, 형식, 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name string The name of the ruleset. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
target string The target of the ruleset. 다음 중 하나일 수 있습니다.: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enforcement string The enforcement level of the ruleset. 다음 중 하나일 수 있습니다.: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bypass_actors array of objects The actors that can bypass the rules in this ruleset | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Properties of |
속성, 형식, 설명 |
---|
actor_id integer RequiredThe ID of the actor that can bypass a ruleset. If |
actor_type string RequiredThe type of actor that can bypass a ruleset 다음 중 하나일 수 있습니다.: |
bypass_mode string RequiredWhen the specified actor can bypass the ruleset. 기본값: 다음 중 하나일 수 있습니다.: |
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.
Can be one of these objects:
속성, 형식, 설명 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
repository_name_and_ref_name object RequiredConditions to target repositories by name and refs by name | |||||||||||||||||||||
Properties of |
속성, 형식, 설명 | ||||
---|---|---|---|---|
ref_name object | ||||
Properties of |
속성, 형식, 설명 |
---|
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 |
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 RequiredProperties of repository_name
속성, 형식, 설명 |
---|
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 |
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 RequiredConditions to target repositories by id and refs by name
Properties of repository_id_and_ref_name
속성, 형식, 설명 | |||
---|---|---|---|
ref_name object | |||
Properties of |
속성, 형식, 설명 |
---|
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 |
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 RequiredProperties of repository_id
속성, 형식, 설명 |
---|
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 RequiredConditions to target repositories by property and refs by name
Properties of repository_property_and_ref_name
속성, 형식, 설명 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ref_name object | |||||||||||||
Properties of |
속성, 형식, 설명 |
---|
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 |
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 RequiredProperties of repository_property
속성, 형식, 설명 | ||||
---|---|---|---|---|
include array of objects The repository properties and values to include. All of these properties must match for the condition to pass. | ||||
Properties of |
속성, 형식, 설명 |
---|
name string RequiredThe name of the repository property to target |
property_values array of strings RequiredThe values to match for the repository property |
source string The source of the repository property. Defaults to 'custom' if not specified. 다음 중 하나일 수 있습니다.: |
exclude
array of objects The repository properties and values to exclude. The condition will not pass if any of these properties match.
Properties of exclude
속성, 형식, 설명 |
---|
name string RequiredThe name of the repository property to target |
property_values array of strings RequiredThe values to match for the repository property |
source string The source of the repository property. Defaults to 'custom' if not specified. 다음 중 하나일 수 있습니다.: |
rules
array of objects An array of rules within the ruleset.
Can be one of these objects:
속성, 형식, 설명 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
creation object RequiredOnly allow users with bypass permission to create matching refs. | |||||||||||||
Properties of |
속성, 형식, 설명 |
---|
type string Required값: |
update
object RequiredOnly allow users with bypass permission to update matching refs.
Properties of update
속성, 형식, 설명 | ||
---|---|---|
type string Required값: | ||
parameters object | ||
Properties of |
속성, 형식, 설명 |
---|
update_allows_fetch_and_merge boolean RequiredBranch can pull changes from its upstream repository |
deletion
object RequiredOnly allow users with bypass permissions to delete matching refs.
Properties of deletion
속성, 형식, 설명 |
---|
type string Required값: |
required_linear_history
object RequiredPrevent merge commits from being pushed to matching refs.
Properties of required_linear_history
속성, 형식, 설명 |
---|
type string Required값: |
required_deployments
object RequiredChoose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule.
Properties of required_deployments
속성, 형식, 설명 | ||
---|---|---|
type string Required값: | ||
parameters object | ||
Properties of |
속성, 형식, 설명 |
---|
required_deployment_environments array of strings RequiredThe environments that must be successfully deployed to before branches can be merged. |
required_signatures
object RequiredCommits pushed to matching refs must have verified signatures.
Properties of required_signatures
속성, 형식, 설명 |
---|
type string Required값: |
pull_request
object RequiredRequire all commits be made to a non-target branch and submitted via a pull request before they can be merged.
Properties of pull_request
속성, 형식, 설명 | |||||||
---|---|---|---|---|---|---|---|
type string Required값: | |||||||
parameters object | |||||||
Properties of |
속성, 형식, 설명 |
---|
allowed_merge_methods array of strings When merging pull requests, you can allow any combination of merge commits, squashing, or rebasing. At least one option must be enabled. |
dismiss_stale_reviews_on_push boolean RequiredNew, reviewable commits pushed will dismiss previous pull request review approvals. |
require_code_owner_review boolean RequiredRequire an approving review in pull requests that modify files that have a designated code owner. |
require_last_push_approval boolean RequiredWhether the most recent reviewable push must be approved by someone other than the person who pushed it. |
required_approving_review_count integer RequiredThe number of approving reviews that are required before a pull request can be merged. |
required_review_thread_resolution boolean RequiredAll conversations on code must be resolved before a pull request can be merged. |
required_status_checks
object RequiredChoose 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 of required_status_checks
속성, 형식, 설명 | ||||||||
---|---|---|---|---|---|---|---|---|
type string Required값: | ||||||||
parameters object | ||||||||
Properties of |
속성, 형식, 설명 | |||
---|---|---|---|
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 RequiredStatus checks that are required. | |||
Properties of |
속성, 형식, 설명 |
---|
context string RequiredThe 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 RequiredWhether 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 RequiredPrevent users with push access from force pushing to refs.
Properties of non_fast_forward
속성, 형식, 설명 |
---|
type string Required값: |
commit_message_pattern
object RequiredParameters to be used for the commit_message_pattern rule
Properties of commit_message_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
commit_author_email_pattern
object RequiredParameters to be used for the commit_author_email_pattern rule
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
committer_email_pattern
object RequiredParameters to be used for the committer_email_pattern rule
Properties of committer_email_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
branch_name_pattern
object RequiredParameters to be used for the branch_name_pattern rule
Properties of branch_name_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
tag_name_pattern
object RequiredParameters to be used for the tag_name_pattern rule
Properties of tag_name_pattern
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
type string Required값: | |||||
parameters object | |||||
Properties of |
속성, 형식, 설명 |
---|
name string How this rule will appear to users. |
negate boolean If true, the rule will fail if the pattern matches. |
operator string RequiredThe operator to use for matching. 다음 중 하나일 수 있습니다.: |
pattern string RequiredThe pattern to match with. |
workflows
object RequiredRequire all changes made to a targeted branch to pass the specified workflows before they can be merged.
Properties of workflows
속성, 형식, 설명 | |||||||||
---|---|---|---|---|---|---|---|---|---|
type string Required값: | |||||||||
parameters object | |||||||||
Properties of |
속성, 형식, 설명 | |||||
---|---|---|---|---|---|
do_not_enforce_on_create boolean Allow repositories and branches to be created if a check would otherwise prohibit it. | |||||
workflows array of objects RequiredWorkflows that must pass for this rule to pass. | |||||
Properties of |
속성, 형식, 설명 |
---|
path string RequiredThe path to the workflow file |
ref string The ref (branch or tag) of the workflow file to use |
repository_id integer RequiredThe ID of the repository where the workflow is defined |
sha string The commit SHA of the workflow file to use |
"Update an organization repository ruleset"에 대한 HTTP 응답 상태 코드
상태 코드 | 설명 |
---|---|
200 | OK |
404 | Resource not found |
500 | Internal Error |
"Update an organization repository ruleset"에 대한 코드 샘플
요청 예제
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/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://HOSTNAME/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"
}
Delete an organization repository ruleset
Delete a ruleset for an organization.
"Delete an organization repository ruleset"에 대한 세분화된 액세스 토큰
이 엔드포인트는 다음 세분화된 토큰 형식에서 작동합니다.:
세분화된 토큰에는 다음 권한 집합이 있어야 합니다.:
- "Administration" organization permissions (write)
"Delete an organization repository ruleset"에 대한 매개 변수
속성, 형식, 설명 |
---|
accept string Setting to |
속성, 형식, 설명 |
---|
org string RequiredThe organization name. The name is not case sensitive. |
ruleset_id integer RequiredThe ID of the ruleset. |
"Delete an organization repository ruleset"에 대한 HTTP 응답 상태 코드
상태 코드 | 설명 |
---|---|
204 | No Content |
404 | Resource not found |
500 | Internal Error |
"Delete an organization repository ruleset"에 대한 코드 샘플
요청 예제
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/orgs/ORG/rulesets/RULESET_ID
Response
Status: 204