jenkins插件

  • PostBuildScript 用于构建后执行某些操作
  • [Managed script] 用于脚本管理,可选

实例-钉钉机器人

效果

钉钉自定义机器人发送代码shell

  • content 消息内容
  • dingRobotToken 钉钉accessToken
  • dingRobotSecret 钉钉加签秘钥
#!/bin/bash
## 消息内容  (jenkins 全局配置需要设置 Jenkins URL)
content="[惊讶][惊愕][惊讶][惊愕][惊讶][惊愕]!!构建失败了!!\n【${BUILD_DISPLAY_NAME}${JOB_NAME}\n${JOB_URL}"

## 啦啦啦德玛西亚-测试机器人
dingRobotToken="---------------机器人Token---------------"
dingRobotSecret="---------------机器人秘钥---------------"
dingRobotHost="https://oapi.dingtalk.com"
dingRobotUri="/robot/send"

timestamp="$((`date "+%s%N"`/1000000))"
stringToSign=${timestamp}"\n"${dingRobotSecret}
signature=`echo -en ${stringToSign} | openssl sha256 -hmac ${dingRobotSecret} -binary | base64`
paramsToken="access_token=${dingRobotToken}"
paramsTimestamp="timestamp=${timestamp}"
paramsSignature="sign=${signature}"
sendUriWithQueryEncode="$(curl -s -o /dev/null -w %{url_effective} --get -d "${paramsToken}" -d "${paramsTimestamp}" --data-urlencode "${paramsSignature}" "${dingRobotUri}")" || temp_45e1bfff36e3481e8be96da44e6685a8=""
sendFullUrlEncode="${dingRobotHost}${sendUriWithQueryEncode}"

curl -s -o /dev/null ${sendFullUrlEncode} -H 'Content-Type: application/json' \
 -d "{\"msgtype\": \"text\", \"text\": {\"content\": \"${content}\"}}"

钉钉操作

添加钉钉机器人

  • 钉钉自定义机器人只适用于群,不适用于个人,但是可以拉几个人建群之后踢出去
  • 钉钉自定义机器人接收消息频率为20个/分钟
  • 右上角 […] 群设置 -> 智能群助手
  • 添加机器人 -> 添加机器人 -> 自定义 -> 添加
  • 添加机器人:
    • 输入机器人名称(仅显示用)
    • 安全设置 选择加签,双击选中,Ctrl-C复制 获得dingRobotSecret
    • 点击完成,获得dingRobotToken

jenkins操作

  • 安装插件,本文以PostBuildScript+Managed script为示例

Managed script 脚本管理



PostBuildScript

  • 对于每一个构建任务进行配置
文档更新时间: 2020-03-18 09:42   作者:sapluk