油猴脚本+钉钉机器人实现实时合并提醒
·
作者:@(kaite-han)
一、方案背景
出于代码质量考虑,远端仓库的代码合并设置了多人审核通过后才能合并,那么如何保证合并审核的通知的及时性成为影响工作效率的关键因素。
二、方案目的
此方案为最简单、直接、暴力的方式通过判断用户点击按钮的文案来识别你在页面中的行为,但你达到特定行为后脚本会发送ajax请求去给机器人下发消息,以此让机器人通知到群内所有人。
此次方案仅供初接触油猴前端攻城狮学习使用。
三、方案实现
话不多说,贴代码,都是js代码不难读,就不解释了。至于油猴内置的API,直接贴文档。
// ==UserScript==
// @name 机器人脚本
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 学习油猴脚本
// @author kaite
// @match *需要作用的网页地址
// @icon https://www.google.com/s2/favicons?sz=64&domain=segmentfault.com
// @grant unsafeWindow
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_xmlhttpRequest
// @require https://code.jquery.com/jquery-2.1.4.min.js
// ==/UserScript==
(function() {
'use strict';
// Your code here...
const name = 'create'
const jsonData = {
"msgtype": "text",
"text": {
"content": "灵锡脚本测试,请大家忽略,打扰了。"
},
"at": {
"atMobiles": [
// "12343535677" 被@人的手机号
],
"isAtAll": false
}
}
GM_setValue(name,'no')
document.onclick=(e)=>{
if(e.target.innerText==='新建合并请求'){
GM_setValue(name,'yes')
}
if(e.target.innerText==='取消'&&GM_getValue(name)==='yes'){
GM_setValue(name,'no')
GM_xmlhttpRequest({
"method": "POST",
//url 为机器人的webhook. 出于安全我这边删了
"url": "webhook",
"headers": {
"Content-Type": 'application/json;charset=utf-8'
},
"data": JSON.stringify(jsonData),
onload:function(response){
const res = JSON.parse(response.responseText);
if(res.errcode===0&&res.errmsg==='ok'){
alert('成功')
}else{
alert('失败')
}
}
})
}
}
})();
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)