Navigate Jira Issues on Swimlanes with y & n

Navigate between open issues on the Jira current sprint with y (up) and n (down). Add shift to jump to first or last.

目前为 2018-02-07 提交的版本。查看 最新版本

// ==UserScript==
// @name         Navigate Jira Issues on Swimlanes with y & n
// @namespace    http://tedmor.in/
// @version      0.1
// @description  Navigate between open issues on the Jira current sprint with y (up) and n (down). Add shift to jump to first or last.
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
// @author       Ted Morin
// @match        https://*.atlassian.net/secure/*
// @grant        none
// ==/UserScript==
// jshint asi:true

(function() {
    'use strict';
    let issueNumber = 0
    /* Open issues */
    function openIssues() {
        return $('.ghx-swimlane .ghx-swimlane-header') // Get all headers
            .filter((i, el) => !$(el).hasClass('ghx-done')) // Filter out the closed ones
            .map((i, el) => $(el).parent())
    }
    /* Return the open issue at given index */
    function issueAt(index) {
        return openIssues()[index] // Return the parent, which is the actual swimlane element
    }
    /* Scroll to an issue by index */
    function scrollToIssue(index) {
        console.log('Scrolling to', index)
        $('#ghx-pool').animate({scrollTop: issueAt(index).offset().top - $('.ghx-first').offset().top}, 200)
    }
    $(document).keypress(function(e) {
        switch (e.which) {
            case 110: // n
                if (issueAt(issueNumber + 1)) {
                    issueNumber += 1
                    scrollToIssue(issueNumber)
                }
                break;
            case 78: // N
                issueNumber = openIssues().length - 1
                break;
            case 121: // y
                if (issueAt(issueNumber - 1)) {
                    issueNumber -= 1
                }
                break;
            case 89: // Y
                issueNumber = 0
                break;
        }
        scrollToIssue(issueNumber)
    })
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址