0

我正在尝试为 gerrit trigger jenkins 插件设置 Rest API。我在 git 中创建了一个服务用户。

但是现在当我输入服务用户的 http 用户名/密码并按下测试连接时。我得到 Http 连接未经授权的连接。

HTTP 密码只不过是 gerrit 配置 UI 中添加的 SSH 公钥。

最好的问候, 索拉夫

4

2 回答 2

3

我遇到了类似的问题,然后我在这里找到了解决方案: 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
于 2017-07-19T05:16:51.777 回答
0

尝试这样的事情:

  1. 确保您在 Gerrit 上有用户
  2. 在 Gerrit 设置中为该用户生成 HTTP 密码
  3. 使用 http 复制存储库(下面的命令)

    git clone http://gerrituser:httppassword@gerrit_url/p/nameofproject.git

  4. 如果你想使用 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

  5. 您可以在这里找到 Gerrit REST API 的 JSON 文件和 rest 命令: https ://gerrit-review.googlesource.com/Documentation/rest-api.html

附言。字母 /a/ 和 /p/ 是必需的,记住用户权限和 HTTP 密码应该不带斜线。

于 2016-10-25T07:44:17.097 回答