如果在管道脚本中有管道脚本方法(
Jenkinsfile
),我的全局管道库
vars/
或者在一个
src/
班级,怎样才能获得
OutputStream
控制台日志?我想写信
直接地
到控制台日志。
echo
或
println
,但是为了这个目的,我需要在没有产生额外输出的情况下进行编写。我还需要通过考试
输出流
去别的地方。
TaskListener.getLogger()
TaskListener
(真的吗
hudson.util.StreamTaskListener
)例如,但如何?
-
我已经调查过了
manager.listener.logger
echo "listener is a ${manager.listener} - ${manager.listener.getClass().getName()} from ${manager} and has a ${manager.listener.logger} of class ${manager.listener.logger.getClass().getName()}"
listener is a hudson.util.LogTaskListener@420c55c4 - hudson.util.LogTaskListener from org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder$BadgeManager@58ac0c55 and has a java.io.PrintStream@715b9f99 of class java.io.PrintStream
-
我知道你可以从一个
StepContext
通过
context.get(TaskListener.class)
但我不是
在里面
A.
Step
,我在一个
CpsScript
(即。
WorkflowScript
詹金斯档案
).
-
从一个
CpsFlowExecution
从
DSL
实例注册为
steps
脚本属性,但我无法找到
任务侦听器
怎么这么难?我错过了什么?有这么多的间接魔法,我发现它难以置信地难以导航系统。
顺便说一句,我知道脚本安全性阻止了直接访问,但我可以创建
@Whitelisted
方法,以及全局库的
总是被列入白名单。