function triggerBuilds()

in ignite-tc-helper-web/src/main/webapp/js/testfails-2.2.js [456:547]


function triggerBuilds(tcServerCode, parentSuiteId, suiteIdList, branchName, top, observe, ticketId, prNum, baseBranchForTc, cleanRebuild=false) {
    var queueAtTop = isDefinedAndFilled(top) && top;
    var observeJira = isDefinedAndFilled(observe) && observe;
    var suiteIdsNotExists = !isDefinedAndFilled(suiteIdList) || suiteIdList.length === 0;
    var branchNotExists = !isDefinedAndFilled(branchName) || branchName.length === 0;
    branchName = branchNotExists ? null : branchForTc(branchName);
    ticketId = (isDefinedAndFilled(ticketId) && ticketId.length > 0) ? ticketId : null;
    prNum = (isDefinedAndFilled(prNum) && prNum.length > 0) ? prNum : null;

    var triggerConfirm = $("#triggerConfirm");

    if (suiteIdsNotExists || branchNotExists) {
        triggerConfirm.html("No " + (suiteIdsNotExists ? "suites" +
            (branchNotExists ? " and branch" : "") : "branch") + " to run!");
        triggerConfirm.dialog({
            modal: true,
            buttons: {
                "Ok" : closeDialog
            }
        });

        return;
    }

    var suites = suiteIdList.split(',');
    var parentSuite = isDefinedAndFilled(parentSuiteId) ? parentSuiteId : suites[0];
    var fewSuites = suites.length > 1;

    var message = "Trigger build" + (fewSuites ? "s" : "") + " at <b>TC server:</b> " + tcServerCode + "<br>" +
    "<b>Branch:</b> " + branchName + "<br><b>Top:</b> " + top + "<br>" +
    "<b>Suite ID" + (fewSuites ? "s" : "") + ":</b> ";

    for (var i = 0; i < suites.length; i++)
        message += suites[i] + "<br>";

    if (fewSuites) {
        triggerConfirm.html(message);
        triggerConfirm.dialog({
            modal: true,
            buttons: {
                "Run" : function () {
                    $(this).dialog("close");
                    sendGetRequest();
                },
                "Cancel": closeDialog
            }
        });
    } else
        sendGetRequest();

    /**
     * See org.apache.ignite.ci.web.rest.TriggerBuilds#triggerBuilds
     */
    function sendGetRequest() {
        $.ajax({
            url: 'rest/build/trigger',
            data: {
                "srvCode": tcServerCode,
                "branchName": branchName,
                "parentSuiteId" : parentSuite,
                "suiteIdList": suiteIdList,
                "top": queueAtTop,
                "observe": observeJira,
                "ticketId": ticketId,
                "prNum": prNum,
                "baseBranchForTc": baseBranchForTc,
                "cleanRebuild": cleanRebuild
            },
            success: successDialog,
            error: showErrInLoadStatus
        });
    }

    function successDialog(result) {
        var triggerDialog = $("#triggerDialog");

        triggerDialog.html(message + "<br><b>Result:</b> " + result.result);
        triggerDialog.dialog({
            modal: true,
            buttons: {
                "Ok": closeDialog
            }
        });

        if (loadData && typeof(loadData) === "function")
            loadData();
    }

    function closeDialog() {
        $(this).dialog("close");
    }
}