用于保护规则的 REST API 端点
使用 REST API 创建、配置和删除部署保护规则。
获取环境的所有部署保护规则
获取为环境启用的所有自定义部署保护规则。任何具有代码库读取权限的用户都可以使用此端点。有关环境的更多信息,请参阅“使用环境进行部署”。
有关提供此自定义部署规则的应用的更多信息,请参阅GET /apps/{app_slug}
端点的文档。
OAuth 应用令牌和个人访问令牌(传统)需要 repo
范围才能与此端点一起使用私有代码库。
“获取环境的所有部署保护规则”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “操作”代码库权限(读取)
如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。
“获取环境的所有部署保护规则”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
environment_name 字符串 必需环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
repo 字符串 必需不带 |
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
“获取环境的所有部署保护规则”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | 部署保护规则列表 |
“获取环境的所有部署保护规则”的代码示例
请求示例
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_protection_rules
部署保护规则列表
状态:200
{ "total_count": 2, "custom_deployment_protection_rules": [ { "id": 3, "node_id": "IEH37kRlcGxveW1lbnRTdGF0ddiv", "enabled": true, "app": { "id": 1, "node_id": "GHT58kRlcGxveW1lbnRTdTY!bbcy", "slug": "a-custom-app", "integration_url": "https://api.github.com/apps/a-custom-app" } }, { "id": 4, "node_id": "MDE2OkRlcGxveW1lbnRTdHJ41128", "enabled": true, "app": { "id": 1, "node_id": "UHVE67RlcGxveW1lbnRTdTY!jfeuy", "slug": "another-custom-app", "integration_url": "https://api.github.com/apps/another-custom-app" } } ] }
在环境上创建自定义部署保护规则
为环境启用自定义部署保护规则。
经过身份验证的用户必须对代码库具有管理员或所有者权限才能使用此端点。
有关提供此自定义部署规则的应用的更多信息,请参阅GET /apps/{app_slug}
端点的文档。
OAuth 应用令牌和个人访问令牌(传统)需要 repo
范围才能使用此端点。
“在环境上创建自定义部署保护规则”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “管理”代码库权限(写入)
“在环境上创建自定义部署保护规则”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
environment_name 字符串 必需环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
repo 字符串 必需不带 |
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
名称、类型、描述 |
---|
integration_id 整数将在环境上启用的自定义应用的 ID。 |
“在环境上创建自定义部署保护规则”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
201 | 启用的自定义部署保护规则 |
“在环境上创建自定义部署保护规则”的代码示例
请求示例
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_protection_rules \ -d '{"integration_id":5}'
启用的自定义部署保护规则
列出环境可用的自定义部署规则集成
获取环境可用的所有自定义部署保护规则集成。
经过身份验证的用户必须对代码库具有管理员或所有者权限才能使用此端点。
有关环境的更多信息,请参阅“使用环境进行部署”。
有关提供此自定义部署规则的应用的更多信息,请参阅“获取应用”。
OAuth 应用令牌和个人访问令牌(传统)需要 repo
范围才能与此端点一起使用私有代码库。
“列出环境可用的自定义部署规则集成”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “管理”代码库权限(读取)
“列出环境可用的自定义部署规则集成”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
environment_name 字符串 必需环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
repo 字符串 必需不带 |
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
名称、类型、描述 |
---|
page 整数要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
per_page 整数每页的结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出环境可用的自定义部署规则集成”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | 此环境可用的自定义部署规则集成列表。 |
“列出环境可用的自定义部署规则集成”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的令牌>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment_protection_rules/apps
此环境可用的自定义部署规则集成列表。
状态:200
[ { "total_count": 2 }, { "available_custom_deployment_protection_rule_integrations": [ { "id": 1, "node_id": "GHT58kRlcGxveW1lbnRTdTY!bbcy", "slug": "a-custom-app", "integration_url": "https://api.github.com/apps/a-custom-app" }, { "id": 2, "node_id": "UHVE67RlcGxveW1lbnRTdTY!jfeuy", "slug": "another-custom-app", "integration_url": "https://api.github.com/apps/another-custom-app" } ] } ]
获取自定义部署保护规则
获取环境的已启用自定义部署保护规则。任何对仓库具有读取权限的用户都可以使用此端点。有关环境的更多信息,请参阅“使用环境进行部署”。
有关提供此自定义部署规则的应用程序的更多信息,请参阅GET /apps/{app_slug}
。
OAuth 应用令牌和个人访问令牌(传统)需要 repo
范围才能与此端点一起使用私有代码库。
“获取自定义部署保护规则”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “操作”代码库权限(读取)
如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。
“获取自定义部署保护规则”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需不带 |
environment_name 字符串 必需环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
protection_rule_id 整数 必填保护规则的唯一标识符。 |
“获取自定义部署保护规则”的 HTTP 响应状态码
状态代码 | 描述 |
---|---|
200 | OK |
“获取自定义部署保护规则”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的令牌>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment_protection_rules/PROTECTION_RULE_ID
响应
禁用环境的自定义保护规则
禁用环境的自定义部署保护规则。
经过身份验证的用户必须对代码库具有管理员或所有者权限才能使用此端点。
OAuth 应用令牌和个人访问令牌(传统)需要 repo
范围才能使用此端点。
“禁用环境的自定义保护规则”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “管理”代码库权限(写入)
“禁用环境的自定义保护规则”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
environment_name 字符串 必需环境的名称。名称必须进行 URL 编码。例如,名称中的任何斜杠都必须替换为 |
repo 字符串 必需不带 |
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
protection_rule_id 整数 必填保护规则的唯一标识符。 |
“禁用环境的自定义保护规则”的 HTTP 响应状态码
状态代码 | 描述 |
---|---|
204 | 无内容 |
“禁用环境的自定义保护规则”的代码示例
请求示例
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的令牌>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/environments/ENVIRONMENT_NAME/deployment_protection_rules/PROTECTION_RULE_ID
响应
状态:204