Skip to content

Create a deployment branch policy

POST
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies

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.

API method documentation

owner
required
string

The account owner of the repository. The name is not case sensitive.

repo
required
string

The name of the repository without the .git extension. The name is not case sensitive.

environment_name
required
string

The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with %2F.

Media type application/json
Deployment branch and tag policy name pattern
object
name
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.

string
type

Whether this rule targets a branch or tag

string
Allowed values: branch tag
Examples

Example of a wildcard name pattern

{
"name": "release/*"
}

Response

Media type application/json
Deployment branch policy

Details of a deployment branch or tag policy.

object
id

The unique identifier of the branch or tag policy.

integer
node_id
string
name

The name pattern that branches or tags must match in order to deploy to the environment.

string
type

Whether this rule targets a branch or tag.

string
Allowed values: branch tag
Examples
{
"id": 364662,
"node_id": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjQ2NjI=",
"name": "release/*"
}

Response if the same branch name pattern already exists

Not Found or deployment_branch_policy.custom_branch_policies property for the environment is set to false