簡體   English   中英

Jenkins Groovy是否要從“當前”構建日志中提取Regex並調用REST API?

[英]Jenkins Groovy to extract Regex from the Current build log and call REST API?

我想添加一個總結我的構建的構建步驟,使用Groovy讀取迄今為止生成的構建日志。

我在SO上還看到了其他一些與相關主題有關的問題,但並非所有問題都在運行,我對API文檔有些困惑,總的來說,我似乎無法使這件事完全運行。

以下是我目前遇到的代碼/結果失敗。

我有幾個問題,如果可以將它們全部放在這里,可以嗎?

1.在控制台窗口中進行測試是否安全? 或者換句話說,什么時候可以在/ script Groovy控制台編輯器窗口中起作用,但是作為Groovy構建步驟將失敗? (我認為這兩種API有所不同,但不清楚如何。)

2. Groovy Jenkins腳本示例到處都有回購嗎?

3.如何執行以下操作?

  • 閱讀控制台日志。
  • 用正則表達式解析感興趣的單詞,例如“ step#2 success”。
  • 將這些單詞重新排列成帶有一些換行符的漂亮字符串。
  • 調用我們的內部REST API提交結果。

非常感謝! 安妮

//Groovy command from SO Post#23139654
def log = manager.build.logFile.text
def summary = log =~ /(?ms)(TEST SUMMARY.*?failures)/

//From there you can extract the matches or as in my case further parse the match:

def total = summary[0] =~ /\d+ tests/

結果包括;

ERROR: Build step failed with exception
groovy.lang.MissingPropertyException: No such property: manager for class: Script1

這是我的答案。

1. Groovy控制台與Groovy的構建步驟是否與Groovy Classpath上的Jenkins Packages不同

2.示例可從2011年的一個用戶處獲得,並且在Wiki上有未知的日期:“ Jenkins,Groovy系統腳本(和Maven)|代碼段” https://mriet.wordpress.com/2011/06/23/groovy-jenkins -system-script /https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console

3.要解析控制台日志和grep輸出,只需將其輸入到Web框中,作為可編輯電子郵件插件[4]構建后步驟的輸入。 不要使用dollar-curlyBrace語法:使用簡單的dollar-variable或dollar-paren語法,如下所示,這是我對“默認內容”的第一個破解。

STATUS=$BUILD_STATUS  
$DEFAULT_CONTENT
GIT Changelog , Revision = $GIT_REVISION
$CHANGES 
LOG-SNIPPETS: Regex Hits/Rules for words that give Unit Test Summaries, Error, Failure, etc =
$BUILD_LOG_REGEX( regex="^.*?BUILD FAILED.*?$", linesBefore=0, linesAfter=10, maxMatches=5, showTruncatedLines=false, escapeHtml=true)

3B。要調用REST插件,這需要在一個單獨的步驟中完成,因此到目前為止,我沒有這樣做。

我沒有正確理解Email-Ext(又名“可編輯電子郵件通知”)插件,這就是為什么我試圖直接在Groovy中做到這一點。

4. [] Email-ext插件-Jenkins-Jenkins Wiki; ; https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM