我如何$BUILD_LOG在 Jenkins 管道中访问,或者是否有更好的方法来获取日志输出?
从这个答案开始,我一直在尝试访问$BUILD_LOG环境变量,但是当我尝试
echo "${BUILD_LOG, maxLines=50, escapeHtml=false}"
Run Code Online (Sandbox Code Playgroud)
构建错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 11: unexpected token: BUILD_LOG @ line 11, column 29.
echo "${BUILD_LOG, maxLines=50, escapeHtml=false}"
Run Code Online (Sandbox Code Playgroud)
如果我尝试
echo "$BUILD_LOG"
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
groovy.lang.MissingPropertyException: No such property: BUILD_LOG for class: groovy.lang.Binding
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?或者这是访问打印输出的错误方式?
我正在尝试使用"$ {BUILD_LOG,maxLines,escapeHtml}",如下所述: 如何从$ BUILD_LOG变量中获取最后20行?
不幸的是,它对我不起作用.
我收到此错误:
Script1.groovy:114:期待除''\n'之外的任何事情; 无论如何得到它@第114行,第301栏.由用户MYUSERNAME提供
我在这行中的代码是:
msg.setText("This build (" + build.getFullDisplayName()
+ " ) contains the following tasks:\n\nTASK\t\t\t IMPLEMENTER:\n"
+ taskList + "\n\n\nLink to this
build: ${BUILD_URL} \n ${BUILD_LOG, maxLines=9999, escapeHtml=false}" );
Run Code Online (Sandbox Code Playgroud)
如果我把它拿出来,它就可以了.这就是为什么我的猜测," BUILD_LOG "不再工作了?
$ {BUILD_LOG,maxLines = 9999,escapeHtml = false}
编辑:也许作为补充:我试图用PreSend groovy脚本做这个.因为我正在动态构建电子邮件文本.
${BUILD_URL}工作正常,${BUILD_LOG, maxLines=9999, escapeHtml=false}不(对我来说)我正在寻找一个解决方案... msg对象是一个java MimeMessage.
谢谢,丹尼尔
我在管道脚本中的语法有麻烦。
我正在尝试捕获最后一个斜杠“ /”之后和最后一个句号“”之前的所有内容。在此字符串git@github.com:project / access-server-pd.git(access-server-pd)
下面是我要设置的方式
MYVAR="git@github.com:project/access-server-pd.git"
NAME=${MYVAR%.*} # retain the part before the colon
NAME=${NAME##*/} # retain the part after the last slash
echo $NAME
Run Code Online (Sandbox Code Playgroud)
我目前在管道脚本上设置了三重引号:
stage('Git Clone') {
MYVAR="$GIT_REPO"
echo "$MYVAR"
NAME="""${MYVAR%.*}"""
echo "$NAME"
Run Code Online (Sandbox Code Playgroud)
但是我收到一个关于“”的意外令牌。错误。我该怎么写才能使它正常工作?
更新:此命令可以解决问题:
echo "git@github.com:project/access-server-pd.git" | sed 's#.*/\([^.]*\).*#\1#'
Run Code Online (Sandbox Code Playgroud)
现在,我只需要找到适当的语法来创建一个变量来存储该值。