Use the REST API to manage custom deployment branch policies.
About deployment branch policiesYou can use the REST API to specify custom name patterns that branches must match in order to deploy to an environment. The deployment_branch_policy.custom_branch_policies
property for the environment must be set to true
to use these endpoints. To update the deployment_branch_policy
for an environment, see REST API endpoints for deployment environments.
For more information about restricting environment deployments to certain branches, see Managing environments for deployment.
List deployment branch policies Code samples for "List deployment branch policies" Request exampleget/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
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/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment-branch-policies
Response
Status: 200
{ "total_count": 2, "branch_policies": [ { "id": 361471, "node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE=", "name": "release/*" }, { "id": 361472, "node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzI=", "name": "main" } ] }
Creates a deployment branch or tag policy for an environment.
OAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
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.
owner
string Required
The account owner of the repository. The name is not case sensitive.
repo
string Required
The name of the repository without the .git
extension. The name is not case sensitive.
environment_name
string Required
The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with %2F
.
name
string Required
The name pattern that branches or tags must match in order to deploy to the environment.
Wildcard characters will not match /
. For example, to match branches that begin with release/
and contain an additional single slash, use release/*/*
. For more information about pattern matching syntax, see the Ruby File.fnmatch documentation.
type
string
Whether this rule targets a branch or tag
Can be one of: branch
, tag
200
OK
303
Response if the same branch name pattern already exists
404
Not Found or deployment_branch_policy.custom_branch_policies
property for the environment is set to false
post/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
Copy 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/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment-branch-policies \ -d '{"name":"release/*"}'
Response
Status: 200
{ "id": 364662, "node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjQ2NjI=", "name": "release/*" }
Gets a deployment branch or tag policy for an environment.
Anyone with read access to the repository can use this endpoint.
OAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.
Parameters for "Get a deployment branch policy" Headers Name, Type, Descriptionaccept
string
Setting to application/vnd.github+json
is recommended.
owner
string Required
The account owner of the repository. The name is not case sensitive.
repo
string Required
The name of the repository without the .git
extension. The name is not case sensitive.
environment_name
string Required
The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with %2F
.
branch_policy_id
integer Required
The unique identifier of the branch policy.
HTTP response status codes for "Get a deployment branch policy" Status code Description200
OK
Code samples for "Get a deployment branch policy" Request exampleget/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_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/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment-branch-policies/BRANCH_POLICY_ID
Response
Status: 200
{ "id": 364662, "node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjQ2NjI=", "name": "release/*" }
Updates a deployment branch or tag policy for an environment.
OAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
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.
owner
string Required
The account owner of the repository. The name is not case sensitive.
repo
string Required
The name of the repository without the .git
extension. The name is not case sensitive.
environment_name
string Required
The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with %2F
.
branch_policy_id
integer Required
The unique identifier of the branch policy.
Body parameters Name, Type, Descriptionname
string Required
The name pattern that branches must match in order to deploy to the environment.
Wildcard characters will not match /
. For example, to match branches that begin with release/
and contain an additional single slash, use release/*/*
. For more information about pattern matching syntax, see the Ruby File.fnmatch documentation.
200
OK
Code samples for "Update a deployment branch policy" Request exampleput/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_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/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment-branch-policies/BRANCH_POLICY_ID \ -d '{"name":"release/*"}'
Response
Status: 200
{ "id": 364662, "node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjQ2NjI=", "name": "release/*" }
delete/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
Copy to clipboard curl request example
curl -L \ -X DELETE \ -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/environments/ENVIRONMENT_NAME/deployment-branch-policies/BRANCH_POLICY_ID
Response
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