本文主要介绍如何在流水线中使用集成消息通知插件,通过运行状态与第三方系统的Webhook触发下发消息通知。
进入流水线编辑页,在需要的任务中添加插件,通知插件支持:钉钉机器人、邮件、Webhook、企业微信机器人、飞书机器人。
钉钉机器人通知
前提条件
由于自定义机器人需要进行安全设置,请前往电脑端添加。
创建一个钉钉群,并且已配置 Webhook 机器人(机器人配置参考)。
编辑流水线任务,在需要的步骤中添加钉钉机器人通知插件。
单击钉钉
,复制钉钉机器人Webhook地址,配置到流水线通知插件中。钉钉自定义机器人必须开启安全设置,若未使用加签,无需填写加签密钥。
选择运行状态,当该流水线的任务进入选择状态后,会触发消息通知。
选择通知内容,所选的通知内容会自动添加至推送消息中。
支持填写自定义内容,支持引用环境变量,如${CI_COMMIT_TITLE},支持钉钉Markdown语法,查看帮助。
支持@手机号,多个手机号(钉钉手机号)之间以
,
分隔,支持@all(输入all即可)。
运行流水线任务,当执行到配置通知的步骤,获取到配置的运行状态时,触发消息通知,相应钉钉群会收到消息通知。
邮件通知
前提条件
需要拥有一个可以接收消息的邮箱地址。
编辑流水线任务,在需要的任务中添加邮件通知插件,填写邮件地址、选择运行时机。
运行流水线任务,当执行到配置通知的步骤,获取到配置的运行状态时,触发消息通知,邮箱会收到消息通知。
Webhook通知
前提条件
Webhook地址必须公网可访问,配置前建议您通过浏览器访问验证。
编辑流水线任务,在需要的步骤中添加Webhook通知插件,填写Webhook地址、选择运行状态。
运行流水线任务执行到配置通知插件步骤,并且获取到配置的运行状态时,发起 Webhook 调用。Flow发送的Webhook 一律为 Post 请求,任务状态信息的 Payload 示例如下。
{ "event": 'task', "action": 'status', "task": { "pipelineId": 183, "pipelineName": 'test pipeline', "stageName": '构建', "taskName": 'java构建', "buildNumber": 19, "statusCode": 'SUCCESS', // UNKOWN, RUNNING, WAITING, CANCELLING, CANCELED,FINISH,SUCCESS,FAIL,SKIP "statusName": '运行成功', "pipelineUrl": 'https://***.aliyun.com/ec/pipelines/1565**?build=19', "message": '[test pipeline]流水线阶段[构建]任务[java构建]运行成功' }, "sources": [ { "repo": 'git@gitlab:test.git', "branch": 'master', "commitId": 'xdfdfdff', "privousCommitId": 'ddddd', } ], "globalParams": [ {"key": 'test', "value": 'test1'}, {"key": 'test2', "value": 'test2'} ] }
企业微信机器人通知
前提条件
需要创建一个微信群,并且已配置 Webhook 机器人。
编辑流水线任务,在需要的步骤中添加企业微信机器人通知插件。
单击企业微信
,复制企业微信机器人Webhook地址,配置到流水线通知插件中。选择运行状态,当该流水线的任务进入选择状态后,会触发消息通知。
选择通知内容,所选的通知内容会自动添加至推送消息中。
支持填写自定义内容,支持引用环境变量,如${CI_COMMIT_TITLE},支持钉钉Markdown语法,查看帮助。
支持@user_id,多个手机号(企业微信 user_id)之间以
,
分隔,支持@all(输入all即可)。可以通过企业微信管理后台 -> 通讯录获取用户 user_id
触发流水线运行,当流水线任务进入通知插件配置的运行状态时,触发消息通知,相应微信群即可收到消息通知。
飞书机器人通知
前提条件
需要创建一个飞书群,并且已配置 Webhook 机器人(机器人配置参考)。
编辑流水线任务,在需要的步骤中添加飞书机器人通知插件。
单击飞书
,复制飞书机器人Webhook地址,配置到流水线通知插件中。若飞书机器人开启了“加签”,复制填写加签密钥。
选择运行状态,当该流水线的任务进入选择状态后,会触发消息通知。
选择通知内容,所选的通知内容会自动添加至推送消息中。
支持填写自定义内容,支持引用环境变量,如${CI_COMMIT_TITLE}。
支持@user_id,多个user_id(飞书user_id)之间以
,
分隔,支持@all(输入all即可)。可以通过飞书管理后台 -> 成员与部门获取用户 user_id。
触发流水线运行,当流水线任务进入通知插件配置的运行状态时,触发消息通知,相应飞书群即可收到消息通知。