Office365ConnectorSend管道步骤不起作用

时间:2019-09-02 14:57:57

标签: jenkins office365 webhooks connector

我正在尝试为MS Teams配置Jenkinks通知。我按照说明进行操作,并在相关通道和Jenkins中的Office365插件上设置和配置Jenkins应用程序。如果我要求他们,我会收到标准的工作状态通知。

现在,我需要能够从管道发送自定义通知。我期望使用office365ConnectorSend管道步骤可以做到这一点:

office365ConnectorSend message:'Test message', webhoolUrl:'office365ConnectorSend message: 'Manual test', webhookUrl: 'https://outlook.office.com/webhook/.../JenkinsCI/...'

管道运行时,所有内容均报告为正常工作,并且作业成功完成,但该消息从未出现在团队中。

如何发布消息?

3 个答案:

答案 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/*'
         }
      }
   }
}