我尝试使用此" set-review"添加评论评论。 API: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#set-review
我可以从这个界面获得一个json响应,但没有任何改变。 我无法看到Gerrit网页上的任何新评论。
以下是我的客户端代码示例:
url = '/changes/16148/revisions/1/review'
data = json.dumps({
'message': 'test',
'labels': {},
'comments': {
'tools/docpreview.py': [{
'line': 20,
'message': 'hehe',
}],
},
'notify': 'NONE'
})
pprint(rest.post(url, data=data))
响应示例(私人信息已删除)。
此响应看起来像这里描述的get-review api的结果: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-review
{u'_number': 16148,
...
u'insertions': 20,
u'kind': u'gerritcodereview#change',
u'created': u'2014-11-05 16:23:08.849000000',
...
u'status': u'NEW',
u'subject': u'Add markdown preview.',
u'updated': u'2014-11-05 22:02:32.978000000'}
答案 0 :(得分:1)
我很难在一段时间内做到这一点,最后,Python中的以下代码对我有用:
from requests.auth import HTTPBasicAuth
from pygerrit2.rest import GerritRestAPI
REST_AUTH = HTTPBasicAuth(MISC['auth_username'], MISC['auth_password'])
REST_CLIENT = GerritRestAPI(url=MISC['base_url'], auth=REST_AUTH)
query = "/changes/" + str(change_id) + "/revisions/" + str(cur_rev) + "/review"
REST_CLIENT.post(query, json={
"message": MISC['message'],
"reviewers": [{
"reviewer": MISC['reviewer_bot']
}]
})
# MISC is a dictionary
答案 1 :(得分:0)
您应该通过身份验证,不是吗?因此,您的请求必须转到/a/changes/