添加企业微信MR提醒机器人(钉钉大差不差)
- 首先准备一个机器人,记住其webhook地址

- 我们gitlab仓库是已经开通gitlab-runner了的,直接编写.gitlab-ci.yml配置,在mr的时候触发脚本
merge_request_notify:
tags:
- xxx-tag
script:
- sh notify.sh $CI_MERGE_REQUEST_PROJECT_PATH $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME $CI_MERGE_REQUEST_TARGET_BRANCH_NAME $CI_MERGE_REQUEST_PROJECT_URL $CI_MERGE_REQUEST_IID $CI_MERGE_REQUEST_LABELS
only:
- merge_requests

- 编写notify脚本,让机器人发送提示信息(企微为例)
#!/bin/bash
function notify()
{
echo project:$1
echo branch:$2 -> $3
echo link:$4/-/merge_requests/$5
echo $KEY
cmd=`
curl "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=$KEY" \
-H 'Content-Type: application/json' \
-d "
{
\"msgtype\": \"text\",
\"text\": {
\"content\": \"有新的合并请求,大家审一审吧\n\n 仓库: $1\n 分支: $2 合到 $3\n 链接: $4/-/merge_requests/$5 \",
\"mentioned_mobile_list\":[$USER_MOBILE_LIST]
}
}"
`
}
if [[ "$6" == *"labelA"* ]]; then
KEY=""
notify "$1" "$2" "$3" "$4"
echo "labelA"
fi
if [[ "$6" == *"labelB"* ]]; then
echo "labelB"
fi
if [[ "$6" == *"labelC"* ]]; then
echo "labelC"
fi
if [[ "$6" == *"labelD"* ]]; then
echo "labelD"
fi
if [[ "$6" == *"labelE"* ]]; then
echo "labelE"
fi