使用Zenhub API从Github问题创建Epic

2024-05-19 16:11:13 发布

您现在位置:Python中文网/ 问答频道 /正文

这是How to set an issue pipeline with zenhub的后续问题。在

我试图用Python脚本将问题转换为epic。我可以将问题转换为Epic,但在创建Epic时尝试添加问题时会出错。在

这是有效的:

zenhub_headers = {"X-Authentication-Token": "%s" % token}
target_zh_issues_url = '%s/p1/repositories/%d/issues' % (zh_api_endpoint, target_repo_id)
params = {}
response = requests.post(target_zh_issues_url + '/%s/convert_to_epic' % issue, headers=zenhub_headers, data=params)

当我设置params = {"issues":[]}时,代码也可以工作

但是当我试图用params = {"issues": [{"repo_id": 280565, "issue_number": 17}]}添加问题时

我得到一个400错误,b'{"message":"Invalid Field for issues: [object Object],[object Object]"}'

然后,我尝试使用/update_issuesAPI向我创建的epic添加问题。在

^{pr2}$

这导致了一个400错误,b'{"message":"Invalid Field for addIssues: repo_id,issue_number"}'。这些字段如API doc中所述。在


Tags: toidurlnumbertargetrepoissueparams
1条回答
网友
1楼 · 发布于 2024-05-19 16:11:13

我通过将'Content-Type': 'application/json'添加到我的头中并将JSON主体转储到一个字符串params = json.dumps({"issues": [{"repo_id": 280565, "issue_number": 17}]})来实现这一点

我的代码现在看起来像:

zenhub_headers = {"X-Authentication-Token": "%s" % token, 'Content-Type': 'application/json'}
target_zh_issues_url = '%s/p1/repositories/%d/issues' % (zh_api_endpoint, target_repo_id)
params = json.dumps({"issues": [{"repo_id": 280565, "issue_number": 17}]})
response = requests.post(target_zh_issues_url + '/%s/convert_to_epic' % issue, headers=zenhub_headers, data=params)

尽管我不确定为什么使用非索引体{"issues":[]}的调用会成功。在

相关问题 更多 >