公司使用Jira作为日常管理,所以Jira填写就比较频繁了,我做了一个示例,剩下的功能就各位自己添加吧
// ==UserScript== // @name Jira填写 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 自动填充,每周填写的任务计划 // @author Jack Meng // @match http://jira.cares.sh.cn/secure/CreateSubTaskIssue.* // @match http://jira.cares.sh.cn/browse/* // @icon // @run-at document-end // @grant none // ==/UserScript== (function() { 'use strict'; // Your code here... $("#stqc_show")[0].onclick=()=>{ loginfo("添加子任务单击事件监听。"); setTimeout(AddFun,1000); } function AddFun() { var isAdd=false; var host = window.location.host; if(host=="jira.cares.sh.cn") { var par = document.getElementById("span_userinfo"); loginfo("注入填充数据按钮"); par = $(".form-footer")[0];//field-group if(par==undefined) return isAdd; var f = par.firstElementChild; //填充1周 var a = document.createElement("a"); a.id="aLink"; a.href="#"; a.style="vertical-align: middle;margin-right: 10px;"; a.target="_blank" a.onclick = ()=>fillData(14); a.innerText="填充1周"; par.insertBefore(a,f); //填充2周 var a2 = document.createElement("a"); a2.id="aLink2"; a2.href="#"; a2.style="vertical-align: middle;"; a2.target="_blank" a2.onclick = ()=>fillData(21); a2.innerText="填充2周"; par.insertBefore(a2,f); //填充2周--按钮 var a3 = document.createElement("input"); a3.id="btnFillData"; a3.type="button"; a3.className="aui-button aui-button-primary"; a3.onclick = ()=>fillData(21); a3.value="填充2周"; //par.insertBefore(a3,f); isAdd=true; } return isAdd; } var fillData = (dayCount)=>{ loginfo("给页面表单填充数据"); $("#summary")[0].value=$("#summary-val")[0].innerText+"子任务"; var d = new Date(); d.setDate(d.getDate()+ dayCount - d.getDay()); $("#duedate")[0].value=d.toLocaleDateString('zh'); $("#timetracking_originalestimate")[0].value='1w'; $("#timetracking_remainingestimate")[0].value='1w'; $("#assign-to-me-trigger")[0].click(); return false; } var loginfo=(msg)=>console.log("========> " +msg); // 创建一个定时器,每秒执行一次任务,如果任务完成或超过尝试次数时,停止执行 /* var taskCount=0; var intervalId = setInterval(function() { // 执行任务 var taskIsFinished = AddFun();// 在这里执行你的任务,并返回执行结果 taskCount++; // 如果任务完成或尝试指定次数时,停止定时器 if (taskIsFinished || taskCount > 10) { clearInterval(intervalId); } }, 1000); */ })();