尝试将jenkins日志发布到休息终点。以下变量未得到解决 $ {BUILD_LOG,maxLines = 50,escapeHtml = false}
是否有任何直接的方法从作业构建中获取最后50行并将其设置为jenkins环境变量
答案 0 :(得分:0)
使用groovy插件,我能够将日志设置为jenkins构建参数。 虽然这给了jenkins构建日志的最后一个字符。这可以进一步改进到分机
import hudson.model.*
def build = Thread.currentThread().executable
def logFile=manager.build.logFile.text
def addOrReplaceParamValue = { String name,String value ->
def npl = new ArrayList<StringParameterValue>()
def pv = new hudson.model.StringParameterValue(name,value);
npl.add(pv);
def newPa = null
def oldPa = build.getAction(hudson.model.ParametersAction.class)
if (oldPa != null) {
build.actions.remove(oldPa)
newPa = oldPa.createUpdated(npl)
} else {
newPa = new hudson.model.ParametersAction(npl)
}
build.actions.add(newPa);
};
if (logFile) {
def buildMsg;
def buildStatus;
if(!logFile.contains("BUILD SUCCESS")){
buildMsg=logFile[-200..-1]
buildStatus="FAILED"
}else{
buildMsg="build successful..."
buildStatus="SUCCESSFUL"
}
addOrReplaceParamValue("message",buildMsg);
addOrReplaceParamValue("status", buildStatus);
}