[英]Unable to set up “Sonar Gerrit” Jenkins plugin
我正試圖在詹金斯的工作上建立Sonar Gerrit - Jenkins插件 。
上下文
以下是第三點的Jenkins分析日志。
Getting Sonar Report from: [XX].sonar\sonar-report.json
Report has loaded and contains 2950 issues
Connected to Gerrit: server name: Gerrit. Change Number: 297, PatchSetNumber: 1
Unable to post review: Request failed.
Build step 'Post SonarQube issues as Gerrit comments' marked build as failure
Finished: FAILURE
評論被添加到Gerrit(意味着通信工作)
構建失敗http:jenkins.com/job/project/118/:FAILURE
我無法理解配置不對的地方。 你知道這個問題嗎?
在Gerrit httpd_log
文件中,當我啟動一個新的Jenkins作業時,我有以下幾行。
IP - - [26 / oct./ 2016:14:30:08 +0200]“POST / a / changes / REF / revisions / REF / review HTTP / 1.1”401 12 - “Apache-HttpClient / 4.4.1(Java /1.8.0_20)”
IP - 詹金斯 [26 / oct./ 2016:14:30:08 +0200]“POST / a / changes / REF / revisions / REF / review HTTP / 1.1”200 24 - “Apache-HttpClient / 4.4.1(Java /1.8.0_20)”
在第一個命令,沒有用戶,而在第二個命令上有jenkins
用戶。 此用戶用於將Jenkins服務器連接到Gerrit服務器(ssh和REST API)。 這是問題嗎?
到目前為止我嘗試了什么
在Jenkins下重新配置Gerrit Trigger插件
正如@Marcelo所提到的,Sonar Gerrit插件使用Gerrit觸發器。 我在Gerrit觸發器設置后重新配置了整個插件。
我之前錯過了為“Label Verified”添加Gerrit訪問權限的步驟
管理>項目> ...>訪問>編輯
參考:refs / heads / *標簽:已驗證:-1,非交互式用戶+1
關於帖子的詳細解釋無法在gerrit 2.7中找到“Label Verified”權限 。
刪除從Jenkins發送到Gerrit的已驗證標記發送,如Gerrit> 2.7的安裝文檔中所述。
轉到“管理Jenkins”並單擊“Gerrit Trigger”鏈接
在服務器旁邊的“Gerrit Servers”下單擊“編輯”按鈕(看起來像一個齒輪,其他圖標可能會重疊)
在“Gerrit Reporting Values”下,單擊底部的“高級”按鈕
在“Gerrit Verified Commands”下,從每個命令中刪除“--verified”部分
軟件版本
我懷疑Jenkins和Gerrit之間的REST API連接存在問題。
“Sonar Gerrit”插件使用“Gerrit Trigger”插件在Gerrit中發布消息。 “Gerrit Trigger”插件可以使用兩種不同的方法在Gerrit中發布消息:SSH或REST API。
“Build Failed ... FAILURE”消息由“Gerrit Trigger”插件直接發布,可以使用SSH執行。 “Sonar Gerrit”消息不能使用SSH執行,需要使用REST API完成,因此需要將“Gerrit Trigger”插件配置為使用REST API啟用“Sonar Gerrit”插件以在Gerrit中發布。
在這里查看更多信息。
轉到Jenkins>管理Jenkins> Gerrit Trigger>編輯>高級
並檢查REST API是否已啟用以及它是否按預期工作(使用“測試REST連接”按鈕)
它是否適用於“帖子得分?”部分? 未選中?
您在評分發布中使用什么類別? (你在Gerrit中創建過嗎?)
如果我沒記錯的話,一個異常(由Gerrit Trigger提供)導致消息
無法發布評論:請求失敗。
總是完全一樣,無論如何都無法理解RestApiException
的原因。
新版的sonar-gerrit插件已經發布。 對不起,我很抱歉。
我現在無法完全解決問題JENKINS-32851 ,因為異常的原因可能會有所不同,但我添加了查看RestAPIException堆棧跟蹤的功能。 查看項目Wiki中的詳細信息 。 如果它有幫助(或沒有)以及導致您的問題(是?),請告訴我。 我覺得我必須在項目Wiki的故障排除部分添加一些可能的異常原因:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.