如何通过Azure DevOps Python API在同一调用中创建PR并添加标签
创建拉取请求(PR)时能否同时添加标签?
大部分主流代码托管平台的PR创建API都不支持在同一个POST请求里直接添加标签,你得分成两步操作:先创建PR,再调用专门的标签接口给刚生成的PR打标签。
举几个主流平台的具体情况:
- GitHub:创建PR的
POST /repos/{owner}/{repo}/pulls接口请求体里没有标签相关字段,PR创建成功后,得用POST /repos/{owner}/{repo}/issues/{pr_number}/labels接口(GitHub里PR属于issue的子类)来添加标签。 - GitLab:
POST /projects/{id}/merge_requests接口同样不带标签参数,后续要调用POST /projects/{id}/merge_requests/{merge_request_iid}/labels接口补充标签。 - Bitbucket:创建PR的
POST /2.0/repositories/{workspace}/{repo_slug}/pullrequests接口也不支持直接带标签,需要用PUT /2.0/repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/labels接口添加标签。
如果想实现“创建PR时自动加标签”的效果,部分平台可以通过Webhook或者自定义脚本实现自动化:监听PR创建的事件,触发标签添加操作,用户视角看起来是一步完成,但底层还是两次API调用。
内容的提问来源于stack exchange,提问作者anjalib
相关产品推荐
相关产品推荐

