We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the new Branches, Collaborators, Commits, Deploy Keys, Deployments, GitHub Pages, Releases, Metrics, Webhooks REST API pages.
Deployment branch policies
The Deployment branch policies API allows you to manage custom deployment branch policies.
About the Deployment branch policies API
The Deployment branch policies API allows you 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 "Create or update an environment."
For more information about restricting environment deployments to certain branches, see "Using environments for deployment."
List deployment branch policies
Lists the deployment branch policies for an environment.
Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
ownerstringRequeridoThe account owner of the repository. The name is not case sensitive. |
repostringRequeridoThe name of the repository. The name is not case sensitive. |
environment_namestringRequeridoThe name of the environment. |
| Parámetros de consulta |
| Nombre, Tipo, Descripción |
per_pageintegerThe number of results per page (max 100). Predeterminado: |
pageintegerPage number of the results to fetch. Predeterminado: |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
Ejemplos de código
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://api.github.com/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment-branch-policiesResponse
Status: 200{
"total_count": 2,
"branch_policies": [
{
"id": 361471,
"node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE=",
"name": "release/*"
},
{
"id": 361472,
"node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzI=",
"name": "main"
}
]
}Create a deployment branch policy
Creates a deployment branch policy for an environment.
You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the administration:write permission for the repository to use this endpoint.
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
ownerstringRequeridoThe account owner of the repository. The name is not case sensitive. |
repostringRequeridoThe name of the repository. The name is not case sensitive. |
environment_namestringRequeridoThe name of the environment. |
| Parámetros de cuerpo |
| Nombre, Tipo, Descripción |
namestringRequeridoThe name pattern that branches must match in order to deploy to the environment. Wildcard characters will not match |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
303 | Response if the same branch name pattern already exists |
404 | Not Found or |
Ejemplos de código
curl \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
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/*"
}Get a deployment branch policy
Gets a deployment branch policy for an environment.
Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
ownerstringRequeridoThe account owner of the repository. The name is not case sensitive. |
repostringRequeridoThe name of the repository. The name is not case sensitive. |
environment_namestringRequeridoThe name of the environment. |
branch_policy_idintegerRequeridoThe unique identifier of the branch policy. |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
Ejemplos de código
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://api.github.com/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment-branch-policies/BRANCH_POLICY_IDResponse
Status: 200{
"id": 364662,
"node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjQ2NjI=",
"name": "release/*"
}Update a deployment branch policy
Updates a deployment branch policy for an environment.
You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the administration:write permission for the repository to use this endpoint.
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
ownerstringRequeridoThe account owner of the repository. The name is not case sensitive. |
repostringRequeridoThe name of the repository. The name is not case sensitive. |
environment_namestringRequeridoThe name of the environment. |
branch_policy_idintegerRequeridoThe unique identifier of the branch policy. |
| Parámetros de cuerpo |
| Nombre, Tipo, Descripción |
namestringRequeridoThe name pattern that branches must match in order to deploy to the environment. Wildcard characters will not match |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
Ejemplos de código
curl \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
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 a deployment branch policy
Deletes a deployment branch policy for an environment.
You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the administration:write permission for the repository to use this endpoint.
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
ownerstringRequeridoThe account owner of the repository. The name is not case sensitive. |
repostringRequeridoThe name of the repository. The name is not case sensitive. |
environment_namestringRequeridoThe name of the environment. |
branch_policy_idintegerRequeridoThe unique identifier of the branch policy. |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
204 | No Content |
Ejemplos de código
curl \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://api.github.com/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment-branch-policies/BRANCH_POLICY_IDResponse
Status: 204
