我想在 Jenkins 构建这样的任务后发送 slack 消息:
My_Job - #10 Success after 18 sec (Open)
My Report: http://my_domain/report_20181017195500.html
所以我试图在 Jenkins 工作的
Execute shell
区域设置这个变量:...
DATE=`date '+%Y%m%d%H%M%S'`
MY_REPORT="report-$DATE.html"
将此添加到
Include Custom Message
块的 Slack Notifications
中:My Report: http://my_domain/${MY_REPORT}
但是当我查看 Slack channel 时,它发送给我:
My_Job - #10 Success after 18 sec (Open)
My Report: http://my_domain/${MY_REPORT}
在这种情况下如何将
$MY_REPORT
设置为真值?编辑
我试过
EnvInject
plugin 。将此代码设置为 Execute shell
块:...
echo MY_REPORT=$(echo "http://my_domain/report-$DATE.html") > /var/lib/jenkins/var.properties
它可以从
/var/lib/jenkins/var.properties
块的 Inject environment variables to the build process
中设置的 Build Environment
中读取值。但不能从 Execute shell
写入该文件。
最佳答案
你可以这样做:
slackSend channel: 'channel_name', message: 'My_Job - ' + BUILD_NUMBER + '\nMy_Report:' + JENKINS_URL
关于jenkins - 如何在 Jenkins 中使用变量将自定义消息添加到 slack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52865755/