我们在企业GitHub安装中使用ZenHub。我正在编写一个脚本来将问题从一个GitHub仓库转移到另一个仓库,包括ZenHub信息。我已经复制了问题,标签和里程碑设置。然后我使用ZenHub API来设置估计并创建史诗。一切正常。我的最后一步是将问题分配给ZenHub管道。以下工作正常(获取有关问题的信息):
zenhub_headers = {"X-Authentication-Token": "%s" % zenhub_token}
url = '%s/p1/repositories/%d/issues/15' % (zenhub_endpoint, repo)
response = requests.get(url, headers=zenhub_headers, verify=False)
但是,当我尝试将相同的问题移到具有以下内容的管道时:
params = json.dumps({"pipeline_id": "5a36d8584b9b9e57bc9729f9"} )
zenhub_headers = {"X-Authentication-Token": "%s" % zenhub_token}
url = '%s/p1/repositories/%d/issues/15/moves' % (zenhub_endpoint, repo)
response = requests.post(url, headers=zenhub_headers, data=params, verify=False)
我得到一个400:b'{"message":"Invalid Field for pipeline_id: undefined"}'
。我已经验证了目标仓库中确实存在管道5a36d8584b9b9e57bc9729f9
。
API仍处于测试状态。我想知道这是API中的错误还是我做错了。
答案 0 :(得分:2)
来自ZenHub的Pablo。这里的问题是请求格式不正确。缺少<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ratingBar5" class="ratingBar"></div><span id="desc5"></span> Five Star Ratings
<div id="ratingBar4" class="ratingBar"></div><span id="desc4"></span> Four Star Ratings
<div id="ratingBar3" class="ratingBar"></div><span id="desc3"></span> Three Star Ratings
<div id="ratingBar2" class="ratingBar"></div><span id="desc2"></span> Two Star Ratings
<div id="ratingBar1" class="ratingBar"></div><span id="desc1"></span> One Star Ratings
参数,您不需要将请求正文编码为字符串,您可以直接发送字典:
position
移动问题端点的文档可用here。欢呼声,