用于部署分支策略的 REST API 端点
使用 REST API 管理自定义部署分支策略。
关于部署分支策略
您可以使用 REST API 指定分支必须匹配的自定义名称模式,以便部署到环境。环境的 deployment_branch_policy.custom_branch_policies
属性必须设置为 true
才能使用这些端点。要更新环境的 deployment_branch_policy
,请参阅“用于部署环境的 REST API 端点”。
有关将环境部署限制到特定分支的更多信息,请参阅“管理部署环境”。
列出部署分支策略
列出环境的部署分支策略。
任何具有仓库读取访问权限的用户都可以使用此端点。
OAuth 应用程序令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点与私有仓库。
“列出部署分支策略”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “操作”仓库权限(读取)
如果仅请求公共资源,则可以在没有身份验证或上述权限的情况下使用此端点。
“列出部署分支策略”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必填仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必填仓库的名称,不包含 |
environment_name 字符串 必填环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
名称、类型、描述 |
---|
per_page 整数每页的结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认值: |
page 整数要提取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认值: |
“列出部署分支策略”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | OK |
“列出部署分支策略”的代码示例
请求示例
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
响应
创建部署分支策略
为环境创建部署分支或标签策略。
OAuth 应用程序令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点。
“创建部署分支策略”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “管理”仓库权限(写入)
“创建部署分支策略”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必填仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必填仓库的名称,不包含 |
environment_name 字符串 必填环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
名称、类型、描述 |
---|
name 字符串 必填分支或标签必须匹配的名称模式,才能部署到环境。 通配符字符将不匹配 |
type 字符串此规则是针对分支还是标签 可以是以下之一: |
“创建部署分支策略”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | OK |
303 | 如果存在相同的分支名称模式,则返回响应 |
404 | 找不到或环境的 |
“创建部署分支策略”的代码示例
请求示例
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/*"}'
响应
获取部署分支策略
获取环境的部署分支或标签策略。
任何具有仓库读取访问权限的用户都可以使用此端点。
OAuth 应用程序令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点与私有仓库。
“获取部署分支策略”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “操作”仓库权限(读取)
如果仅请求公共资源,则可以在没有身份验证或上述权限的情况下使用此端点。
“获取部署分支策略”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必填仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必填仓库的名称,不包含 |
environment_name 字符串 必填环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
branch_policy_id 整数 必填分支策略的唯一标识符。 |
“获取部署分支策略”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | OK |
“获取部署分支策略”的代码示例
请求示例
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
响应
更新部署分支策略
更新环境的部署分支或标签策略。
OAuth 应用程序令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点。
“更新部署分支策略”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “管理”仓库权限(写入)
“更新部署分支策略”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必填仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必填仓库的名称,不包含 |
environment_name 字符串 必填环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
branch_policy_id 整数 必填分支策略的唯一标识符。 |
名称、类型、描述 |
---|
name 字符串 必填分支必须匹配的名称模式,才能部署到环境。 通配符字符将不匹配 |
“更新部署分支策略”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | OK |
“更新部署分支策略”的代码示例
请求示例
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/*"}'
响应
删除部署分支策略
删除环境的部署分支或标签策略。
OAuth 应用程序令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点。
“删除部署分支策略”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “管理”仓库权限(写入)
“删除部署分支策略”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必填仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必填仓库的名称,不包含 |
environment_name 字符串 必填环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
branch_policy_id 整数 必填分支策略的唯一标识符。 |
“删除部署分支策略”的HTTP响应状态码
状态代码 | 描述 |
---|---|
204 | 无内容 |
“删除部署分支策略”的代码示例
请求示例
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
响应
状态:204