NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Redmine link task export ( for Sprint planning ) // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author nomedeno.netpeak@gmail.com // @match https://redmine.netpeak.net/projects/netpeak_pup/issues* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; var requester_class = 'cf_20'; var sp_class = 'cf_24'; var sp_value_regexp = /^[+-]?\d+(\.\d+)?/; var table = ''; if (jQuery('table.issues').length) { $('table.issues').find('tr.issue').each(function (i, el) { var row = []; var task_link = jQuery(el).find('td.subject a').attr('href'); var task_name = jQuery(el).find('td.subject a').html().replace(/"|'/g, ''); var tracker = jQuery(el).find('td.tracker').text(); var requester = jQuery(el).find('td.' + requester_class).text(); var priority = jQuery(el).find('td.priority').text(); var assigned_user = jQuery(el).find('td.assigned_to').text(); var status = jQuery(el).find('td.status').text(); var sp = jQuery(el).find('td.' + sp_class).text(); var sp_value = sp_value_regexp.exec(sp)[0]; row = [ '=HYPERLINK("' + window.location.origin + task_link + '"; "' + task_name + '")', tracker, requester, priority, assigned_user, status, sp_value ]; table = table + row.join("\t") + "\n"; }); var export_link = jQuery('<a>').addClass('icon').addClass('icon-projects').click(function(e) { e.preventDefault(); prompt('', table); }); jQuery('table.issues').before(export_link); } })();