如何使用ZenHub API设置问题管道

时间:2017-12-18 00:22:27

标签: python api github zenhub

我们在企业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中的错误还是我做错了。

1 个答案:

答案 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。欢呼声,