外部状态检查 API
- 引入于极狐GitLab 14.0,在
:ff_external_status_checks
功能标志后禁用。- 功能标志移除于极狐GitLab 14.1。
列出合并请求的状态检查
对于单个合并请求,列出适用于它的外部状态检查及其状态。
GET /projects/:id/merge_requests/:merge_request_iid/status_checks
参数:
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id
| integer | yes | 项目 ID |
merge_request_iid
| integer | yes | 合并请求 IID |
[
{
"id": 2,
"name": "Rule 1",
"external_url": "https://gitlab.com/test-endpoint",
"status": "passed"
},
{
"id": 1,
"name": "Rule 2",
"external_url": "https://gitlab.com/test-endpoint-2",
"status": "pending"
}
]
设置外部状态检查的状态
对于单个合并请求,使用 API 通知极狐GitLab 合并请求已通过外部服务的检查。 要设置外部检查的状态,使用的个人访问令牌必须属于在合并请求的目标项目中至少具有 Developer 角色的用户。
以任何有权批准合并请求本身的用户身份执行此 API 调用。
POST /projects/:id/merge_requests/:merge_request_iid/status_check_responses
参数:
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id
| integer | yes | 项目 ID |
merge_request_iid
| integer | yes | 合并请求 IID |
sha
| string | yes | 源分支 HEAD 的 SHA
|
external_status_check_id
| integer | yes | 外部状态检查 ID |
status
| string | no |
passed :传递状态;failed :传递状态失败
|
sha
必须是合并请求源分支 HEAD
的 SHA。获取项目外部状态检查
您可以使用以下端点请求项目外部状态检查的信息:
GET /projects/:id/external_status_checks
参数:
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id
| integer | yes | 项目 ID |
[
{
"id": 1,
"name": "Compliance Check",
"project_id": 6,
"external_url": "https://gitlab.com/example/test.json",
"protected_branches": [
{
"id": 14,
"project_id": 6,
"name": "master",
"created_at": "2020-10-12T14:04:50.787Z",
"updated_at": "2020-10-12T14:04:50.787Z",
"code_owner_approval_required": false
}
]
}
]
创建外部状态检查
您可以使用以下端点创建项目的外部状态检查:
POST /projects/:id/external_status_checks
外部状态检查将有关所有适用合并请求的信息发送到定义的外部服务,包括私密合并请求。
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id
| integer | yes | 项目 ID |
name
| string | yes | 显示状态检查名称 |
external_url
| string | yes | 状态检查资源 URL |
protected_branch_ids
| array<Integer>
| no | 确定规则范围的受保护分支的 ID |
删除外部状态检查
您可以使用以下端点删除项目的外部状态检查:
DELETE /projects/:id/external_status_checks/:check_id
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
rule_id
| integer | yes | 状态检查 ID |
id
| integer | yes | 项目 ID |
更新外部状态检查
您可以使用以下端点更新现存的项目外部状态检查:
PUT /projects/:id/external_status_checks/:check_id
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id
| integer | yes | 项目 ID |
rule_id
| integer | yes | 外部状态检查 ID |
name
| string | no | 显示状态检查名称 |
external_url
| string | no | 外部状态检查资源 URL |
protected_branch_ids
| array<Integer>
| no | 确定规则范围的受保护分支的 ID |