Jira story counter

Auto count sub-task stoty point

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Jira story counter
// @namespace    https://github.com/RayWangQvQ/Ray.Tampermonkey/
// @version      0.1
// @description  Auto count sub-task stoty point
// @author       Ray
// @match        https://*/jira/*
// @icon         https://raw.githubusercontent.com/RayWangQvQ/Ray.Tampermonkey/main/JiraStoryCounter/jira-software_logo.png
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...

    setInterval(() => {
        var tableArray = [];
        //查找table
        function getParentTable(elem) {
            if (elem.tagName == "TABLE") {
                return elem;
            } else {
                return getParentTable(elem.parentElement);
            }
        }
        function findTable(array, item) {
            for (var i in array) {
                if (array[i].table === item) {
                    return array[i];
                }
            }
            return null;
        }
        var storyCellarray = document.getElementsByClassName("customfield_10006");
        for (var i in storyCellarray) {
            if (storyCellarray[i].innerText) {
                var table = getParentTable(storyCellarray[i]);
                var parentTable = findTable(tableArray, table);
                if (parentTable) {
                    parentTable.data.push(parseFloat(storyCellarray[i].innerText || 0));
                } else {
                    tableArray.push({
                        table: table,
                        data: [parseFloat(storyCellarray[i].innerText || 0)]
                    });
                }
            }
        }
        var thArray = document.getElementsByClassName("colHeaderLink sortable headerrow-customfield_10006");
        //fill sum result
        for (var i in tableArray) {
            var sum = 0;
            for (var count in tableArray[i].data) {
                sum += tableArray[i].data[count];
            }
            thArray[i].innerText = "Story Point (" + sum + ")";
        }
    }, 3000);

})();