LinearB metrics comparison

Add metrics WW is striving for

Verzia zo dňa 16.06.2022. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         LinearB metrics comparison
// @author       Rolandas Valantinas
// @description  Add metrics WW is striving for
// @include      *app.linearb.io/performance*
// @namespace    https://greasyfork.org/users/157178
// @require      https://code.jquery.com/jquery-3.2.1.min.js
// @supportURL   https://github.com/rolandas-valantinas/gists/issues
// @version      1.5
// ==/UserScript==

(function () {
    var metricsButton = `<input type="button" id="add-ww-metrics" value="Add WW Metrics">`;
    var intervalButton = setInterval(addButton, 2000);
    var attempts = 0;

    function appendData(title, value) {
        $("p:contains('"+title+"')").first().parent().parent().find("p").eq(1).append(value);
    };

    function addMetrics() {
        console.log('add addMetrics');

        appendData('CODING TIME', ' / <24h');
        appendData('PICKUP TIME', ' / <12h');
        appendData('REVIEW TIME', ' / <4h');
        appendData('PRS OPENED', ' / >2 per day');
        appendData('PR SIZE', ' / <500');
        appendData('REVIEW DEPTH', ' / 2-4');
        appendData('NEW CODE', ' / >70%');
        appendData('REFACTOR', ' / <25%');
        appendData('REWORK', ' / <5%');

        appendData('CYCLE TIME', ' / <2 days');
        appendData('DEPLOY FREQUENCY', ' / >1 per day');
        appendData('DEPLOY TIME', ' / <6h');
        appendData('MTTR', ' / <4h');
    }


    function addButton() {
        console.log('add button');
        attempts++;
        var toolbar = $('div.MuiInputBase-root');

        if (toolbar.length > 0) {
            toolbar.parent().parent().append(metricsButton);
            $('#add-ww-metrics').click(addMetrics);
            attempts = 10;
        }

        if (attempts > 5) {
            clearInterval(intervalButton);
        }
    }
})();