jenkins - 如何在 Jenkins 中使用变量将自定义消息添加到 slack?

标签 jenkins slack

我想在 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/

相关文章:

python - 添加附件到 Slackbot

python - os.environ.get() 不返回 Windows 中的环境值?

Jenkins 可扩展选择,具有基于用户角色的用户特定项目

git - 创建管道时定义jenkinsfile脚本路径

git - sbt-release 无法 git push

slack-api - 为 slack 应用程序生成 SLACK_APP_TOKEN

bash - Jenkins Email-ext 预发送脚本

java - Jenkins 上的 Sonarscanner : Could not find 'java' executable in JAVA_HOME or PATH

javascript - Slack API(JSON 数据)

curl - 如何允许其他人编辑通过curl上传的slack帖子