- npm install && npm install pm2 -g
- 在根目录新建
webhooks.config.js
,配置发送消息的代码,示例:
const rp = require('request-promise');
const sendMessage = async (content, token) => {
// token 和项目有关,即不同的项目应该使用不同的 token 来接受消息
return rp({
method: 'POST',
uri: `xxxxxx${token}`, // 接受消息提醒的机器人地址,如企业微信机器人地址
body: {
tag: "text",
text: {
content,
}
},
headers: {
'Content-Type': 'application/json'
},
json: true
})
}
module.exports = {
sendMessage
}
-
pm2 app.js
-
配置 Gitlab Webhooks
- 进入 Gitlab 项目首页,点击左侧
Setting
菜单, 选择Integrations
. (确保你拥有项目的权限,才能找到Setting
=>Integrations
) - 配置 url: http://your.site?token=xxxx (不同的项目应该有不同的 token, 因为目前没有在消息提醒里展示项目信息)
- 勾选 Trigger:
Merge request events
,Pipeline events
- 点击
Add Webhook
- 进入 Gitlab 项目首页,点击左侧
-
配置完毕,当 Git 仓库发生
Merge request events
或Pipeline events
时,即可收到消息。
-
指定 token:
http://your.site?token=xxxx
-
指定 Pipeline 触发分支:
http://your.site?token=xxxx&ref=test
, 则 test 分支上的 Pipeline 会触发消息,且默认master
分支的 Pipeline 一定会触发消息。