我在jenkins中很新,我想從jenkins控制檯輸出中過濾掉只有jenkins輸出的我的unix腳本通過jenkins作業運行 爲了簡化我的場景,我有一個返回json輸出的MyScript unix腳本。 jenkins作業使用「Execute shell」構建操作來封裝MyScript執行。 當我運行詹金斯工作,MyScript可被執行,下面輸出詹金斯控制檯輸出的回報:過濾jenkins控制檯輸出的作業
Started by remote host ...
Building remotely on ... in workspace ...
Set build name.
New build name is '#11-/products/software/myScript.py'
[ScriptWrapper] $ /bin/sh -xe /tmp/hudson9139846468482145951.sh
+ /products/software/myScript.py -t ...
{'ip': '...', 'host': '...'}
Set build name.
New build name is '#11-/products/software/myScript.py'
Variable with name 'BUILD_DISPLAY_NAME' already exists, ...
Finished: SUCCESS
從上面的輸出,我想過濾出我的UNIX腳本的JSON輸出是「{」 ip':'...','host':'...'}「。 那我們稱之爲通過REST API的詹金斯的工作,我們需要得到只有被叫UNIX腳本的JSON輸出需要它:
curl -s -k -u ... --request GET "https://<jenkins uri>/jenkins/view/ScriptWrapper/job/ScriptWrapper/19/consoleText"
我們試圖定義一個解析規則文件,但在這我們只能在「Parsed Console Output」jenkins視圖中突出顯示控制檯輸出中的某些行。 此外,它似乎這個「經分析控制檯輸出」是無法通過REST API訪問:
curl -s -k -u ... --request GET "https://<jenkins uri>/jenkins/view/ScriptWrapper/job/ScriptWrapper/19/parsed_console"
- >它不工作
有什麼辦法可以過濾掉詹金斯控制檯輸出? 我們也在評估使用Jenkins Groovy Postbuild插件的可能性。你認爲它可以幫助嗎? 我事先感謝您的任何建議。
嗨Timmy, 是的,我們希望只生成腳本返回的json輸出。 第三個選項不適用,如下所示: 1)外部應用程序調用jenkins rest api並且僅期望xml/json結果。 3)myScript返回json輸出 選項html發佈者: ERR目錄'/ jenkins/workspace/ScriptWrapper/response'存在但失敗,但失敗複製到'/ jenkins/jobs/ScriptWrapper/htmlreports/Job_Response' index.html應該如何結構化? 或者myScript應該返回html輸出/應該生成這樣的index.html? – nuvola
嗨提米, 對不起,低於約錯誤使用HTML發行的詳細信息: 選項HTML出版商: HTML DIR:./response 索引頁:指數。html 報告標題:作業回覆 錯誤:目錄'/ jenkins/workspace/ScriptWrapper/response'存在,但未能複製到'/ jenkins/jobs/ScriptWrapper/htmlreports/Job_Response' 錯誤:由於您的構建成功, – nuvola
不確定這些來自html發佈者的錯誤。它應該能夠發佈任何文件。你有沒有試過「存檔神器」功能? –