我正在尝试为gerrit触发器jenkins插件设置Rest API。 我在git中创建了一个服务用户。
但现在当我输入服务用户的http用户名/密码并按下测试连接时。我正在获得Http连接未经授权的连接。
HTTP密码只不过是gerrit配置UI中添加的SSH公钥。
最诚挚的问候, Saurav
答案 0 :(得分:3)
我遇到了类似的问题然后我在这里找到了解决方案: https://dev.vaadin.com/review/Documentation/dev-rest-api.html#_authentication
应从http://gerrit-url/#/settings/http-password链接使用gerrituser和httppassword。您也可以使用.netrc文件对其进行测试。
我不知道你的gerrit是如何配置的所以我建议你也应该尝试从basic_auth切换到digest_auth。例如:
curl -X GET --digest -u gerrituser:httppassword http://gerrit-url/a/path/to/api
curl -X POST --digest -u gerrituser:httppassword -d '{json data}' http://gerrit-url/a/path/to/api
答案 1 :(得分:0)
尝试这样的事情:
使用http(下面的命令)
复制存储库git clone http://gerrituser:httppassword@gerrit_url/p/nameofproject.git
如果要使用JSON文件,请尝试此示例命令,创建文件body.json:
curl -H“Content-Type:application / json”-X POST --data @ body.json http://gerrituser:httppassword@gerrit_url/a/changes/Change_Id/revisions/commit/review
您可以在此处找到Gerrit REST API的JSON文件和rest命令: https://gerrit-review.googlesource.com/Documentation/rest-api.html
PS。字母/ a /和/ p /是必要的,记住用户权限和HTTP密码应该没有斜线。