2016-10-23 39 views
0

我正在嘗試爲gerrit觸發器jenkins插件設置Rest API。 我在git中創建了一個服務用戶。在Gerrit觸發器中未經授權的Http連接

但現在,當我進入了服務用戶的HTTP用戶名/密碼,並按下測試連接。我越來越Http連接未經授權的連接。

HTTP密碼是什麼,但在格里特配置用戶界面添加了SSH公共密鑰。

最好的問候, Saurav

+0

你是如何創建此用戶?您是否使用「gerrit create-account」命令?你有沒有設置HTTP密碼?我認爲這是一個好主意,設置密碼... –

+0

我通過gerrit網絡用戶界面創建...我沒有明確設置http密碼...它把ssh公鑰作爲密碼...我沒有得到任何選項來更改它... – saurav

+0

您是如何使用Gerrit UI創建帳戶的? SSH密鑰不能代替密碼... SSH密鑰用於SSH訪問,另一方面,密碼用於HTTP連接(REST)。 –

回答

0

嘗試是這樣的:

  1. 通過確保您有用戶在格里特
  2. 生成HTTP密碼,該用戶在格里特設置
  3. 複製庫使用HTTP(以下命令)

    GIT中克隆http://gerrituser:[email protected]_url/p/nameofproject.git

  4. 如果你想使用JSON文件嘗試這個例子命令,創建文件body.json:

    捲曲-H 「內容類型:應用程序/ JSON」 -X POST --data @ body.json http://gerrituser:[email protected]_url/a/changes/Change_Id/revisions/commit/review

  5. JSON文件和格里特REST API的其他命令,你可以在這裏找到: https://gerrit-review.googlesource.com/Documentation/rest-api.html

PS。字母/ a /和/ p /是必須的,記住用戶權限和HTTP密碼應該沒有斜線。

1

我正面臨類似的問題,然後我發現這裏的解決方案: 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 
+0

有些解釋會很有幫助。不僅將一些代碼作爲答案! – g0hl1n

+0

@ g0hl1n:對不起,我認爲額外摘要是自我解釋的。 –

相關問題