问题:Jenkins slackSend:@here 或特定用户的频道警报通知

Jenkins slackSend 问题:如何对已收到需要由任何成员 @here 或特定人员前 @Jane.Doe 处理的消息的频道执行警报通知?

审查 Jenkins Slack 通知:https://www.jenkins.io/doc/pipeline/steps/slack/

尝试将 @here 添加到 slackSend 消息的开头:

failure {
    script {
        slackSend(
            color: "#FF0000",
            channel: "${SLACK_CHANNEL}",
            message: "@home FAILED"
        )
    }
}

但是,将 @here 添加到 slackSend 消息不会启动该通道的警报通知。

建议?

注意:收到同事的评论,我正在调查这条路径:

以为我记得需要查找用户以获取 ID,然后将一些特殊语法解析为用户名。不过已经有一段时间了。

解答

首先,您必须找到用户的 ID,然后在消息中提及它,例如以下示例:

def userId = slackUserIdFromEmail('spengler@ghostbusters.example.com')
slackSend(color: "good", message: "<@$userId> Message from Jenkins Pipeline")

参考:https://plugins.jenkins.io/slack/

编辑:

如果你想要一个特别或集体提及,你只需要遵循格式指南你可以在这里看到什么:https://api.slack.com/reference/surfaces/formatting#special-mentions

Logo

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐