REST API endpoints for repository push rule bypass requests
Use the REST API to manage repository push rule bypass requests.
List repository push rule bypass requests
Lists the requests made by users of a repository to bypass push protection rules
Fine-grained access tokens for "List repository push rule bypass requests"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Contents" repository permissions (write)
Parameters for "List repository push rule bypass requests"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
owner string RequiredThe account owner of the repository. The name is not case sensitive. |
repo string RequiredThe name of the repository without the |
Name, Type, Description |
---|
reviewer string Filter bypass requests by the handle of the GitHub user who reviewed the bypass request. |
requester string Filter bypass requests by the handle of the GitHub user who requested the bypass. |
time_period string The time period to filter by. For example, Default: Can be one of: |
request_status string The status of the bypass request to filter on. When specified, only requests with this status will be returned. Default: Can be one of: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
HTTP response status codes for "List repository push rule bypass requests"
Status code | Description |
---|---|
200 | OK |
404 | Resource not found |
500 | Internal Error |
Code samples for "List repository push rule bypass requests"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
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/repos/OWNER/REPO/bypass-requests/push-rules
Response
Status: 200
[
{
"id": 21,
"number": 42,
"repository": {
"id": 1,
"name": "smile",
"full_name": "octo-org/smile"
},
"organization": {
"id": 1,
"name": "octo-org"
},
"requester": {
"actor_id": 12,
"actor_name": "monalisa"
},
"request_type": "push_ruleset_bypass",
"data": [
{
"ruleset_id": 410,
"ruleset_name": "Exclude image files",
"total_violations": 1,
"rule_type": "file_extension_restriction"
}
],
"resource_identifier": "827efc6d56897b048c772eb4087f854f46256132",
"status": "denied",
"requester_comment": "Updating site images to follow changes in marketing. Part 1",
"expires_at": "2024-07-08T08:43:03Z",
"created_at": "2024-07-01T08:43:03Z",
"responses": [
{
"id": 42,
"reviewer": {
"actor_id": 4,
"actor_name": "octocat"
},
"status": "denied",
"created_at": "2024-07-02T08:43:04Z"
}
],
"url": "https://api.github.com/repos/octo-org/smile/bypass-requests/push-rules/1",
"html_url": "https://github.com/octo-org/smile/exemptions/1"
},
{
"id": 12,
"number": 24,
"repository": {
"id": 1,
"name": "smile",
"full_name": "octo-org/smile"
},
"organization": {
"id": 1,
"name": "octo-org"
},
"requester": {
"actor_id": 12,
"actor_name": "monalisa"
},
"request_type": "push_ruleset_bypass",
"data": [
{
"ruleset_id": 410,
"ruleset_name": "Exclude image files",
"total_violations": 1,
"rule_type": "file_extension_restriction"
}
],
"resource_identifier": "827efc6d56897b048c772eb4087f854f46255555",
"status": "denied",
"requester_comment": "Updating site images to follow changes in marketing. Part 2",
"expires_at": "2024-07-08T07:43:03Z",
"created_at": "2024-07-01T07:43:03Z",
"responses": [
{
"id": 42,
"reviewer": {
"actor_id": 4,
"actor_name": "octocat"
},
"status": "denied",
"created_at": "2024-07-02T08:43:04Z"
}
],
"url": "https://api.github.com/repos/octo-org/smile/bypass-requests/push-rules/2",
"html_url": "https://github.com/octo-org/smile/exemptions/2"
}
]
Get a repository push bypass request
Get information about a request to bypass push protection rules for a repository.
Fine-grained access tokens for "Get a repository push bypass request"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Contents" repository permissions (write)
Parameters for "Get a repository push bypass request"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
owner string RequiredThe account owner of the repository. The name is not case sensitive. |
repo string RequiredThe name of the repository without the |
bypass_request_number integer RequiredThe number that identifies the bypass request within the context of the given repository. |
HTTP response status codes for "Get a repository push bypass request"
Status code | Description |
---|---|
200 | OK |
404 | Resource not found |
500 | Internal Error |
Code samples for "Get a repository push bypass request"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
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/repos/OWNER/REPO/bypass-requests/push-rules/BYPASS_REQUEST_NUMBER
Response
Status: 200
{
"id": 12,
"number": 24,
"repository": {
"id": 1,
"name": "smile",
"full_name": "octo-org/smile"
},
"organization": {
"id": 1,
"name": "octo-org"
},
"requester": {
"actor_id": 12,
"actor_name": "monalisa"
},
"request_type": "push_ruleset_bypass",
"data": [
{
"ruleset_id": 410,
"ruleset_name": "Exclude image files",
"total_violations": 1,
"rule_type": "file_extension_restriction"
}
],
"resource_identifier": "827efc6d56897b048c772eb4087f854f46255555",
"status": "denied",
"requester_comment": "Updating site images to follow changes in marketing. Part 2",
"expires_at": "2024-07-08T07:43:03Z",
"created_at": "2024-07-01T07:43:03Z",
"responses": [
{
"id": 42,
"reviewer": {
"actor_id": 4,
"actor_name": "octocat"
},
"status": "denied",
"created_at": "2024-07-02T08:43:04Z"
}
],
"url": "https://api.github.com/repos/octo-org/smile/bypass-requests/push-rules/2",
"html_url": "https://github.com/octo-org/smile/exemptions/2"
}