「Jenkins Pipeline」- 发送 Slack 通知 @20210303

问题描述

在 Jenkins Pipeline 中,当构建完成后,我们希望发送消息到 Slack Channel 进行消息通知,以告知我们构建的结果。

该笔记将记录:在 Jenkins Pipeline 中,如何使用 Slack 发送构建通知。

解决方案

第一步、准备工作

在 Slack 中,创建应用,参考 Slack/Notification Bot 笔记。

访问 https://api.slack.com/apps 页面,查看已经创建的应用。点击 <应用名称> 进入,以进行设置。

第二步、安装 Slack Notification 插件

在 Manage Jenkins / Manae Plugins / Available 中,搜索 Slack Notification 以查找 Slack Notification 扩展。

第三步、配置 Slack Notification 插件

在 Manage Jenkins / Configure System / Slack 中,填写相关信息:

1)Workspace:在创建 Slack 帐号时,使用的工作空间名称。在 https://k4nz.slack.com/admin/name 中查看,其实域名中的 k4nz 便是我们 Workspace 名称;

2)Credential:凭证信息。<Your App> / Oauth & Permissions / Bot User OAuth Token(为 xoxb-<xxxx> 格式)

3)Default channel:默认 Channel 名称。注意,如果需要该应用向 Channel 中发送消息,需要将该应用邀请到 Channel 中(比如通过 @ 方式邀请)

4)Custom slack app bot user:必须勾选,否则 Test Connection 失败(原因我们也不是非常清楚)。

5)点击 Test Connection 测试。如果成功,则在默认 Channle 会收到一条消息,否则显示 Failure 信息;

第四步、在 Pipeline 中,向 Channel 发送消息

pipeline {
    agent any
    stages {
        stage('Building') {
            steps {
                slackSend channel: "#general", color: "good", message: "Message from Jenkins Pipeline"
            }
        }
    }
}

关于 slackSend 步骤,参考 Slack Notification Plugin 文档。

相关文章

「Jenkins Pipeline」- 发送 IRC 消息

参考文献

Slack Notification | Jenkins plugin
Response: null, Response Code: 404 and Response: {"ok":false,"error":"invalid_auth"} · Issue #649 · jenkinsci/slack-plugin
Jenkins Slack Integration | Baeldung


posted @ 2021-03-03 17:20  研究林纳斯写的  阅读(268)  评论(0编辑  收藏  举报