您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Toggle button for YouTrack
// ==UserScript== // @name Toggl-Button YouTrack // @namespace https://gitlab.paragon-es.de/toggl-button // @version 1.4 // @include http*://youtrack.*/* // @include http*://*/youtrack/* // @grant GM_xmlhttpRequest // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_getValue // @grant GM_setValue // @grant GM_info // @grant GM_registerMenuCommand // @require https://gf.qytechs.cn/scripts/2670-toggllibrary/code/TogglLibrary.js // @resource togglStyle https://gitlab.paragon-es.de/toggl-button/core/raw/master/TogglLibrary.css // @description Toggle button for YouTrack // ==/UserScript== new TogglButtonGM('.fsi-layout.container .content_fsi', function (elem) { var description, projectIds = [], numElem = elem.querySelector('.issueId', elem), titleElem = elem.querySelector('.issue-summary', elem), projectElem = document.querySelector('.fsi-properties .fsi-property .regCC a'), linkElem = document.querySelector('.issueContainer .links-panel .links .link'), stopCallback = null; description = titleElem.textContent.trim(); if (numElem !== null) { description = numElem.textContent.trim() + " " + description; stopCallback = function(date, duration) { var parts = numElem.textContent.trim().split('-'); GM_xmlhttpRequest({ method: "GET", url: document.location.origin + "/rest/admin/project/" + parts[0] + "/timetracking", onload: function (result) { if (result.status === 200) { if (result.responseText.indexOf('<settings enabled="true">') > 0) { GM_xmlhttpRequest({ method: "POST", url: document.location.origin + "/rest/issue/" + numElem.textContent.trim() + "/timetracking/workitem", headers: { "Content-Type": "application/xml" }, dataType: 'xml', data: '<workItem><date>'+date+'</date><duration>'+Math.floor(duration / 60)+'</duration><description>automatic</description></workItem>' }); } } } }); } } if (projectElem !== null) { projectIds.push(projectElem.textContent.trim()); } if (linkElem !== null) { projectIds.push(linkElem.textContent.trim()); } return { className: 'youtrack', description: description, projectIds: projectIds, stopCallback: stopCallback }; });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址