Greasy Fork

Greasy Fork is available in English.

jiraBugTemplate

jira 提单自动填充模板

当前为 2019-09-16 提交的版本,查看 最新版本

// ==UserScript==
// @name         jiraBugTemplate
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  jira 提单自动填充模板
// @author       mocobk
// @match        https://jira.sui.work/browse/*
// @grant        none
// ==/UserScript==

// 测试环境
var env = '测试服';
// jira描述内容模板
var descContent = `

<p><img class="emoticon" src="/images/icons/emoticons/help_16.png" alt="" width="16" height="16" align="absmiddle" border="0" data-mce-src="/images/icons/emoticons/help_16.png"><strong>【问题描述】</strong></p>
<br>
<p><img class="emoticon" src="/images/icons/emoticons/information.png" alt="" width="16" height="16" align="absmiddle" border="0" data-mce-src="/images/icons/emoticons/information.png"><strong>【测试数据】</strong></p>
<br>
<p><img class="emoticon" src="/images/icons/emoticons/check.png" alt="" width="16" height="16" align="absmiddle" border="0" data-mce-src="/images/icons/emoticons/check.png"><strong>【预期结果】</strong></p>
<br>
<p><img class="emoticon" src="/images/icons/emoticons/error.png" alt="" width="16" height="16" align="absmiddle" border="0" data-mce-src="/images/icons/emoticons/error.png"><strong>【实际结果】</strong></p>
<br>
`;



function autoFill(){
    // jira 编号
    let issueKey = $('#key-val')[0].getAttribute('data-issue-key');

    // huanj
    let environment = $('#environment')[0];

    // 描述
    let descIframe = $('iframe')[0];
    let description = descIframe.contentWindow.document.querySelector('#tinymce');

    let relatesTo = $('#issuelinks-issues-textarea')[0];


    environment.value = env;
    relatesTo.value = issueKey;
    setTimeout(()=>{description.innerHTML =  descContent;}, 500);


    relatesTo.focus();

    $('#create-issue-dialog .form-body')[0].scrollTop=0;
    $('#summary')[0].focus();

}



(function() {
    let createBtn = document.getElementById('create_link');
    // 添加创建按钮监听事件
    createBtn.addEventListener(
        'click',
        function(){
            let i = 0;
            let timer = setInterval(
                function(){
                    if($('#create-issue-dialog').length === 1 && $('iframe')[0]){
                        autoFill();
                        clearInterval(timer);
                    }else{
                        i++;
                        if (i >= 10){
                            // 10 次轮询都未找到对象则停止
                            clearInterval(timer);
                        }
                    }
                }, 500)
            }
    )
})();