GitLab API 如何批准合并请求?
How does the GitLab API approve merge requests?
我尝试使用 POST /projects/xx/merge_requests/xx/approve
请求。请求请求后,返回"message": "401 Unauthorized"
,我还添加了请求头PRIVATE-TOKEN
。
首先,确保(如 GitLab Merge Requests Approvals 中所述):
- 您有“开发人员”或更高级别permissions批准合并请求
- 该项目没有定义特定规则,例如充当特定文件代码所有者的用户列表:只有该列表的成员才有权批准 PR。
- 你检查过the project require password to approve,这意味着你需要传递
approval_password
参数
其次,curl 调用的形式为 (GitLab API)
curl -XPOST "https://gitlab.com/api/v4/projects/$CI_MERGE_REQUEST_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/notes" \
-H "PRIVATE-TOKEN: $MR_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode 'sha=<sha>&approval_password=<password>'
^^^^^^^^^^^^^^^^^
(only if the project requires it)
sha
与要添加的合并请求的当前 HEAD 相匹配。
我尝试使用 POST /projects/xx/merge_requests/xx/approve
请求。请求请求后,返回"message": "401 Unauthorized"
,我还添加了请求头PRIVATE-TOKEN
。
首先,确保(如 GitLab Merge Requests Approvals 中所述):
- 您有“开发人员”或更高级别permissions批准合并请求
- 该项目没有定义特定规则,例如充当特定文件代码所有者的用户列表:只有该列表的成员才有权批准 PR。
- 你检查过the project require password to approve,这意味着你需要传递
approval_password
参数
其次,curl 调用的形式为 (GitLab API)
curl -XPOST "https://gitlab.com/api/v4/projects/$CI_MERGE_REQUEST_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/notes" \
-H "PRIVATE-TOKEN: $MR_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode 'sha=<sha>&approval_password=<password>'
^^^^^^^^^^^^^^^^^
(only if the project requires it)
sha
与要添加的合并请求的当前 HEAD 相匹配。