这可能是100%用户错误,但是在slackSend步骤中,我无法获得管道作业来使用变量作为通道名称。
这同时使用了Slack插件和Build User Vars插件。我试图用来BUILD_USER_FIRST_NAME
确定Slack退回到哪个渠道(即,开始构建的渠道应该是获取消息的渠道)。
这篇文章半路介绍了如何在管道作业中使用构建用户插件,但是替换变量让我大跌眼镜。
工作的相关部分如下所示;
stage ('message') {
wrap([$class: 'BuildUser']) {
sh "printf '%s' ${BUILD_USER_FIRST_NAME} > name.txt"
}
archiveArtifacts artifacts: 'name.txt'
name = readFile('name.txt')
echo "name is $name" //works fine, I get Alex
if ( "$output" != null ) {
slackSend (channel: '@$name', color: '#36A64F', message: "Job succeeded")
} else {
slackSend (channel: '@$name', color: '#36A64F', message: "Job failed")
}
}
我尝试了以下方法来代替通道位,但都因不确定的Slack post may have failed. Response: Invalid channel specified
错误而失败。
channel: '@${name}',
channel: '@" + ${name} + "',
channel: '@"${name}"',
预期的结果是它将解决 channel: '@Alex',
什么是正确的语法?