-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jira-copy-issue-title
54 lines (47 loc) · 1.71 KB
/
Jira-copy-issue-title
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// ==UserScript==
// @name Jira Copy botton
// @namespace
// @version 0.0.1
// @description features: 1. copy issue key and title for creating git branch
// @author Jiaheng
// @license MIT
// @match https://reagroup.atlassian.net/*/**
// @grant none
// @require http://code.jquery.com/jquery-1.11.0.min.js
// ==/UserScript==
(function() {
'use strict';
// Your code here...
$(document).ready(function(){
init();
});
function addCopyButton() {
$('div[id^="card-"]').each(function() {
var copyText = getIssueFullTitle($(this));
$(this).after("<a id='clipboardBtn' class='btn aui-button aui-button-primary aui-style' value='" + copyText + "'>Copy issue title&number</a>");
$(this).parent().find('#clipboardBtn').on('click', function() {
var textArea = document.createElement( "textarea" );
textArea.value = $(this).attr('value');
document.body.appendChild( textArea );
textArea.select();
try {
var successful = document.execCommand( 'copy' );
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Copying ['+$(this).attr('value')+'] command was ' + msg);
$(this).text('Copied issue title&number');
} catch (err) {
console.log('Oops, unable to copy',err);
}
document.body.removeChild( textArea );
});
});
}
function getIssueFullTitle (obj) {
var issueKey = obj.find('.sc-lnmtFM.lLLKd span').text();
var issueTitle = obj.find('.sc-FQuPU.fjrIUy span').text();
return issueKey + ' ' + issueTitle;
}
function init() {
addCopyButton();
}
})();