我正在尝试为gerrit触发器jenkins插件设置Rest API。 我在git中创建了一个服务用户。在Gerrit触发器中未经授权的Http连接
但现在,当我进入了服务用户的HTTP用户名/密码,并按下测试连接。我越来越Http连接未经授权的连接。
HTTP密码是什么,但在格里特配置用户界面添加了SSH公共密钥。
最好的问候, Saurav
我正在尝试为gerrit触发器jenkins插件设置Rest API。 我在git中创建了一个服务用户。在Gerrit触发器中未经授权的Http连接
但现在,当我进入了服务用户的HTTP用户名/密码,并按下测试连接。我越来越Http连接未经授权的连接。
HTTP密码是什么,但在格里特配置用户界面添加了SSH公共密钥。
最好的问候, Saurav
尝试是这样的:
复制库使用HTTP(以下命令)
GIT中克隆http://gerrituser:[email protected]_url/p/nameofproject.git
如果你想使用JSON文件尝试这个例子命令,创建文件body.json:
卷曲-H “内容类型:应用程序/ JSON” -X POST --data @ body.json http://gerrituser:[email protected]_url/a/changes/Change_Id/revisions/commit/review
JSON文件和格里特REST API的其他命令,你可以在这里找到: https://gerrit-review.googlesource.com/Documentation/rest-api.html
PS。字母/ a /和/ p /是必须的,记住用户权限和HTTP密码应该没有斜线。
我正面临类似的问题,然后我发现这里的解决方案: https://dev.vaadin.com/review/Documentation/dev-rest-api.html#_authentication
的gerrituser和应该的HTTPPassword从http://gerrit-url/#/settings/http-password链接使用。你也可以用.netrc文件来测试。
我不知道你的格里特是如何配置的,所以我建议你也应该尝试从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
有些解释会很有帮助。不仅将一些代码作为答案! – g0hl1n
@ g0hl1n:对不起,我认为额外摘要是自我解释的。 –
你是如何创建此用户?您是否使用“gerrit create-account”命令?你有没有设置HTTP密码?我认为这是一个好主意,设置密码... –
我通过gerrit网络用户界面创建...我没有明确设置http密码...它把ssh公钥作为密码...我没有得到任何选项来更改它... – saurav
您是如何使用Gerrit UI创建帐户的? SSH密钥不能代替密码... SSH密钥用于SSH访问,另一方面,密码用于HTTP连接(REST)。 –