GitHub REST API创建Pull Request时能否同步添加标签?
解决方案
GitHub的PR创建接口本身不支持直接指定标签参数,你需要分两步完成操作:
- 第一步:调用现有PR创建接口,解析接口返回结果,获取新创建PR的编号(响应结构中的
number字段) - 第二步:调用Issue标签添加接口完成标签绑定(GitHub中PR属于特殊类型的Issue,标签管理复用Issue相关接口)
你当前代码中在创建PR的请求体里加labels参数是不生效的,调整后的完整流程代码示例如下:
# 第一步:创建PR,获取返回的PR编号 pr_create_resp = execute_command_with_output( 'curl --silent -X POST -H "Authorization: token {}" -H "Accept: application/vnd.github.v3+json" ' '{}/repos/{}/pulls -d \'{{"head":"{}","base":"{}","title":"{} Cherry-Pick from PR {}"}}\''.format( token, url, repository, t_branch, b_branch, ticket, pr ), ) # 解析响应拿到PR编号,这里假设你用json解析返回结果 import json pr_data = json.loads(pr_create_resp) pr_number = pr_data['number'] # 第二步:给新建的PR添加标签 execute_command_with_output( 'curl --silent -X POST -H "Authorization: token {}" -H "Accept: application/vnd.github.v3+json" ' '{}/repos/{}/issues/{}/labels -d \'{{"labels": ["bug"]}}\''.format( token, url, repository, pr_number ), )
注意:如果需要添加多个标签,直接在labels数组里追加即可,比如
["bug", "cherry-pick"]
内容的提问来源于stack exchange,提问作者Nithya Kumar
相关产品推荐
相关产品推荐

