您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Parse tags, create buttons for originate-from bug links and JIRA links
// ==UserScript== // @name Generate Launchpad Bug Links from tags // @namespace http://anthonywong.net/ // @version 1.4 // @description Parse tags, create buttons for originate-from bug links and JIRA links // @match https://bugs.launchpad.net/*/+bug/* // @grant none // @license GPLv2 // ==/UserScript== (function () { 'use strict'; // Locate the <span id="tag-list"> element const tagsElement = document.querySelector('#tag-list'); if (tagsElement) { // Extract the tags as text const tagsText = tagsElement.textContent; // Find all "originate-from-XXXX" patterns const originateMatches = tagsText.match(/originate-from-(\d+)/g); // Find all "jira-$JIRA_TICKET" patterns const jiraMatches = tagsText.match(/jira-([a-zA-Z0-9\-]+)/g); // Create a container for the buttons const buttonContainer = document.createElement("div"); buttonContainer.style.marginTop = "10px"; // Process originate-from tags if (originateMatches) { originateMatches.forEach((tag) => { const bugNumber = tag.replace("originate-from-", ""); // Create a button const button = document.createElement("button"); button.textContent = `Go to Bug ${bugNumber}`; button.style.marginRight = "5px"; button.style.padding = "5px 10px"; // Set up the button click event button.addEventListener("click", () => { const bugUrl = `https://bugs.launchpad.net/ubuntu/+bug/${bugNumber}`; window.open(bugUrl, "_blank"); }); // Add the button to the container buttonContainer.appendChild(button); }); } // Process JIRA tags if (jiraMatches) { jiraMatches.forEach((tag) => { const jiraTicket = tag.replace("jira-", "").toUpperCase(); // Create a button const button = document.createElement("button"); button.textContent = `Go to JIRA ${jiraTicket}`; button.style.marginRight = "5px"; button.style.padding = "5px 10px"; // Set up the button click event button.addEventListener("click", () => { const jiraUrl = `https://warthogs.atlassian.net/browse/${jiraTicket}`; window.open(jiraUrl, "_blank"); }); // Add the button to the container buttonContainer.appendChild(button); }); } // Append the container below the tags element if (buttonContainer.childNodes.length > 0) { tagsElement.parentNode.appendChild(buttonContainer); } } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址