如何使用Github API v3创建Pull Request评论?

时间:2017-10-31 10:22:00

标签: python curl post github-api

在Github API v3文档中,有一篇关于how to create a pull request review using the API的文章。

有这一行:

POST /repos/:owner/:repo/pulls/:number/requested_reviewers

有人可以用一个例子来解释我该怎么做? curl命令本来更受欢迎。我能猜到的是它的一些POST消息格式,但是如何触发POST调用?

任何例子的任何帮助都将受到赞赏。

编辑

自己想办法,但如果可能的话,也很想看到一些Pythonic方式。

2 个答案:

答案 0 :(得分:2)

确定。

所以经过一些尝试,我发现了这实际意味着什么以及如何使用这些调用。为将来的访问者分享这个。

curl "https://api.github.com/repos/<repo-owner-username>/<project-name>/pulls/<pull-number>/requested_reviewers?access_token=<personal-access-token-for-github>" -H "Content-Type: application/json" -X POST -d "{\"reviewers\":[\"reviewer1\"]}" 开头的术语实际上是变量,需要用值替换。因此,以创建拉取请求评论为例,curl命令如下所示:

cd $foo || echo "Error xyz"; exit 1

同样,您可以遵循Github API文档中为其他情况指定的格式,并生成curl调用。

答案 1 :(得分:1)

对于pythonic方式,您可以使用string.Template的子类。

举个例子:

from string import Template

class URLTemplate(Template):
    delimiter = ':'

post_url = URLTemplate('/repos/:owner/:repo/pulls/:number/requested_reviewers')
post_param = {
    'owner': 'myself',
    'repo': 'secret_one'
}

print(post_url.substitute(number=42, **post_param))

将产生:

/repos/myself/secret_one/pulls/42/requested_reviewers