我正在尝试为 gerrit trigger jenkins 插件设置 Rest API。我在 git 中创建了一个服务用户。
但是现在当我输入服务用户的 http 用户名/密码并按下测试连接时。我得到 Http 连接未经授权的连接。
HTTP 密码只不过是 gerrit 配置 UI 中添加的 SSH 公钥。
最好的问候, 索拉夫
我正在尝试为 gerrit trigger jenkins 插件设置 Rest API。我在 git 中创建了一个服务用户。
但是现在当我输入服务用户的 http 用户名/密码并按下测试连接时。我得到 Http 连接未经授权的连接。
HTTP 密码只不过是 gerrit 配置 UI 中添加的 SSH 公钥。
最好的问候, 索拉夫
我遇到了类似的问题,然后我在这里找到了解决方案: https ://dev.vaadin.com/review/Documentation/dev-rest-api.html#_authentication
gerrituser 和 httppassword 应该从http://gerrit-url/#/settings/http-password链接使用。您也可以使用 .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
尝试这样的事情:
使用 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
附言。字母 /a/ 和 /p/ 是必需的,记住用户权限和 HTTP 密码应该不带斜线。