您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
jira 统计页面新增快捷按钮
// ==UserScript== // @name jira Plus // @namespace http://tampermonkey.net/ // @version 0.2 // @description jira 统计页面新增快捷按钮 // @author xueyixiao // @match http://*/secure/TimesheetReport.jspa?* // @icon https://www.google.com/s2/favicons?sz=64&domain=tongbaninfo.com // @grant none // ==/UserScript== (function() { 'use strict'; const boxList = document.querySelectorAll('.worklogLinkContainer') boxList.forEach(async box => { const link = box.querySelector('span a').getAttribute('href') const issueKey = link.match(/browse\/(.*)\?/)[1] const worklogId = link.match(/focusedWorklogId=(\d{0,})&/)[1] fetch(`${location.origin}/rest/api/2/issue/${issueKey}`).then(response => response.json()).then((issueData) => { const issueId = issueData.id; box.insertAdjacentHTML('beforeend', `<div class="worklog-operation-group"> <span title="新增" onclick="popupWindow('add',${issueId},${worklogId})" class="icon-default aui-icon aui-icon-small aui-iconfont-add">新增</span> <span title="删除" onclick="popupWindow('delete',${issueId},${worklogId})" class="icon-default aui-icon aui-icon-small aui-iconfont-delete">删除</span> <span title="编辑" onclick="popupWindow('update',${issueId},${worklogId})" class="icon-default aui-icon aui-icon-small aui-iconfont-edit">编辑</span> </div>`) }).catch((err) => { console.log(err); }); }); document.body.insertAdjacentHTML('beforeend', `<style type="text/css"> img[alt="Medium"]{display:none;} .worklog-operation-group{display:none;} .worklogLinkContainer:hover .worklog-operation-group{display:flex;gap:12px;} </style>`) window.popupWindow = (type, id, worklogId) => { const hrefs = { 'add': `${location.origin}/secure/CreateWorklog!default.jspa?id=${id}`, 'update': `${location.origin}/secure/UpdateWorklog!default.jspa?id=${id}&worklogId=${worklogId}`, 'delete': `${location.origin}/secure/DeleteWorklog!default.jspa?id=${id}&worklogId=${worklogId}` } const windowFeatures = "width=1030,height=760,scrollbars=yes,resizable=yes"; window.open(hrefs[type], "_blank", windowFeatures); } })();