我正在尝试为MS Teams配置Jenkinks通知。我按照说明进行操作,并在相关通道和Jenkins中的Office365插件上设置和配置Jenkins应用程序。如果我要求他们,我会收到标准的工作状态通知。
现在,我需要能够从管道发送自定义通知。我期望使用office365ConnectorSend
管道步骤可以做到这一点:
office365ConnectorSend message:'Test message', webhoolUrl:'office365ConnectorSend message: 'Manual test', webhookUrl: 'https://outlook.office.com/webhook/.../JenkinsCI/...'
管道运行时,所有内容均报告为正常工作,并且作业成功完成,但该消息从未出现在团队中。
如何发布消息?
答案 0 :(得分:0)
尝试将单引号替换为webhookUrl中的双引号。
webhookUrl:“ $ msteams_url”
答案 1 :(得分:0)
office365ConnectorSend消息:“测试消息”,webhoolUrl:“ office365ConnectorSend消息:'手动测试',webhookUrl:'https://outlook.office.com/webhook/.../JenkinsCI/ ...'
您检查拼写了吗?它应该是webhookUrl而不是webhoolUrl,并且只能是一次。 我在后管道操作步骤中使用了类似的方法,其中MSTEAMS_HOOK被定义为Teams URL的环境{}管道指令内的环境变量。
success {
office365ConnectorSend (
status: "Pipeline Status",
webhookUrl: "${MSTEAMS_HOOK}",
color: '00ff00',
message: "Test Successful: ${JOB_NAME} - ${BUILD_DISPLAY_NAME}<br>Pipeline duration: ${currentBuild.durationString}"
)
}
答案 2 :(得分:0)
除了拼写错误外,您尝试的脚本运行正常。问题可能出在您的网络限制上。 jenkins触发的HTTP请求可能已被阻止。尝试将webhook URL粘贴到正在使用的系统的浏览器中,然后检查响应。如果响应中显示的内容不是“无效的Webhook请求-不支持GET” 。请求很可能失败。
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo 'Hello World'
office365ConnectorSend message: 'Manual test', webhookUrl: 'https://outlook.office.com/webhook/*'
}
}
}
}