This is an automated email from the ASF dual-hosted git repository.
dspavlov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
The following commit(s) were added to refs/heads/master by this push:
new 51289fd6 Fix comment target option precedence (#239)
51289fd6 is described below
commit 51289fd6cba88ddf3161ff362e62541309c058bb
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Thu May 28 23:26:43 2026 +0300
Fix comment target option precedence (#239)
Codex co authored with dpavlov
---
.../src/main/webapp/board/index.html | 2 +-
.../src/main/webapp/build-comparator.html | 6 +-
ignite-tc-helper-web/src/main/webapp/build.html | 2 +-
ignite-tc-helper-web/src/main/webapp/current.html | 2 +-
.../js/{testfails-2.3.js => testfails-2.4.js} | 112 ++++++---------------
.../src/main/webapp/monitoring.html | 2 +-
.../src/main/webapp/mutedissues/index.html | 2 +-
ignite-tc-helper-web/src/main/webapp/pr.html | 2 +-
ignite-tc-helper-web/src/main/webapp/prs.html | 2 +-
9 files changed, 43 insertions(+), 89 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/webapp/board/index.html
b/ignite-tc-helper-web/src/main/webapp/board/index.html
index 76de6771..f941e714 100644
--- a/ignite-tc-helper-web/src/main/webapp/board/index.html
+++ b/ignite-tc-helper-web/src/main/webapp/board/index.html
@@ -108,7 +108,7 @@
let gVue, g_Loading, g_TcBotVersion;
$(document).ready(function() {
- $.getScript("/js/testfails-2.3.js", function(data, textStatus, jqxhr){
});
+ $.getScript("/js/testfails-2.4.js?v=20260528-1", function(data,
textStatus, jqxhr){ });
$( document ).tooltip();
showQueryForm();
diff --git a/ignite-tc-helper-web/src/main/webapp/build-comparator.html
b/ignite-tc-helper-web/src/main/webapp/build-comparator.html
index 80fdeac7..b3347df1 100644
--- a/ignite-tc-helper-web/src/main/webapp/build-comparator.html
+++ b/ignite-tc-helper-web/src/main/webapp/build-comparator.html
@@ -9,14 +9,14 @@
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="js/common-1.7.js"></script>
- <script src="js/testfails-2.3.js"></script>
+ <script src="js/testfails-2.4.js?v=20260528-1"></script>
</head>
<body>
<script>
var g_shownDataHashCodeHex = "";
$(document).ready(function() {
- $.getScript("js/testfails-2.3.js", function(data, textStatus, jqxhr){
});
+ $.getScript("js/testfails-2.4.js?v=20260528-1", function(data,
textStatus, jqxhr){ });
$( document ).tooltip();
loadData();
@@ -70,4 +70,4 @@
<div id="version"></div>
<div style="visibility:none"><div id="triggerConfirm" title="Trigger
Confirmation"></div><div id="triggerDialog" title="Trigger Result"></div></div>
</body>
-</html>
\ No newline at end of file
+</html>
diff --git a/ignite-tc-helper-web/src/main/webapp/build.html
b/ignite-tc-helper-web/src/main/webapp/build.html
index e67f7a9f..07765e96 100644
--- a/ignite-tc-helper-web/src/main/webapp/build.html
+++ b/ignite-tc-helper-web/src/main/webapp/build.html
@@ -11,7 +11,7 @@
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="js/common-1.7.js?v=20260509-6"></script>
- <script src="js/testfails-2.3.js?v=20260510-2"></script>
+ <script src="js/testfails-2.4.js?v=20260528-1"></script>
</head>
<body>
<script>
diff --git a/ignite-tc-helper-web/src/main/webapp/current.html
b/ignite-tc-helper-web/src/main/webapp/current.html
index 5cd37a21..822a61df 100644
--- a/ignite-tc-helper-web/src/main/webapp/current.html
+++ b/ignite-tc-helper-web/src/main/webapp/current.html
@@ -21,7 +21,7 @@
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>
<script src="js/common-1.7.js?v=20260509-6"></script>
- <script src="js/testfails-2.3.js?v=20260511-1"></script>
+ <script src="js/testfails-2.4.js?v=20260528-1"></script>
</head>
<body>
<script>
diff --git a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.3.js
b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.4.js
similarity index 95%
rename from ignite-tc-helper-web/src/main/webapp/js/testfails-2.3.js
rename to ignite-tc-helper-web/src/main/webapp/js/testfails-2.4.js
index f1dffa8f..f6ea4d15 100644
--- a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.3.js
+++ b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.4.js
@@ -861,15 +861,17 @@ function filterPossibleBlocker(suite) {
return null;
}
-function selectCommentTargets(defaultTargets, onSelected) {
- selectCommentOptions(defaultTargets, {}, function (selectedTargets) {
- onSelected(selectedTargets);
- });
-}
-
var TCBOT_TRIGGER_PREF_KEY = "tcbot.trigger.options";
var TCBOT_COMMENT_PREF_KEY = "tcbot.comment.options";
+function hasStoredField(obj, field) {
+ return obj && Object.prototype.hasOwnProperty.call(obj, field);
+}
+
+function hasCommentTargets(targets) {
+ return typeof targets === "string" && targets.trim().length > 0;
+}
+
function loadStoredJson(key) {
try {
var raw = window.localStorage.getItem(key);
@@ -890,21 +892,24 @@ function saveStoredJson(key, value) {
}
}
-function loadCommentPreferences(defaultTargets,
defaultCommentOnlyIfNoBlockers) {
+function loadCommentPreferences(defaultTargets,
defaultCommentOnlyIfNoBlockers, overrideTargets) {
var prefs = loadStoredJson(TCBOT_COMMENT_PREF_KEY);
- var targets = isDefinedAndFilled(prefs.targets) ? prefs.targets :
defaultTargets;
- var policy = isDefinedAndFilled(prefs.policy) ? prefs.policy :
+ var targets = hasStoredField(prefs, "targets") && typeof prefs.targets ===
"string" ? prefs.targets : defaultTargets;
+ var policy = hasStoredField(prefs, "policy") && typeof prefs.policy ===
"string" ? prefs.policy :
(defaultCommentOnlyIfNoBlockers ? "clean" : "always");
+ if (typeof overrideTargets === "string")
+ targets = overrideTargets;
+
return {
- targets: isDefinedAndFilled(targets) ? targets : "",
+ targets: hasCommentTargets(targets) ? targets : "",
commentOnlyIfNoBlockers: policy === "clean"
};
}
function saveCommentPreferences(targets, commentOnlyIfNoBlockers) {
saveStoredJson(TCBOT_COMMENT_PREF_KEY, {
- targets: isDefinedAndFilled(targets) ? targets : "",
+ targets: hasCommentTargets(targets) ? targets : "",
policy: commentOnlyIfNoBlockers ? "clean" : "always"
});
}
@@ -925,60 +930,6 @@ function saveTriggerPreferences(queueAtTop, cleanRebuild) {
});
}
-function selectCommentOptions(defaultTargets, options, onSelected) {
- var commentPrefs = loadCommentPreferences(
- defaultTargets !== null && typeof defaultTargets !== "undefined" ?
defaultTargets : "JIRA",
- false);
- var targets = commentPrefs.targets;
- var hasJira = targets.indexOf("JIRA") !== -1;
- var hasGithub = targets.indexOf("GITHUB") !== -1;
- var dialog = ensureActionDialog("triggerConfirm", "Comment targets");
- var ticketLink = options && isDefinedAndFilled(options.ticketLink) ?
- optionalLink(options.ticketLink, ticketLinkLabel(options.ticketLink,
"ticket")) : "";
- var prLink = options && isDefinedAndFilled(options.prLink) ?
- optionalLink(options.prLink, prLinkLabel(options.prLink, "PR")) : "";
- var allowNoTargets = options && options.allowNoTargets;
- var showOnlyNoBlockers = options && options.showOnlyNoBlockers;
-
- dialog.html(
- "<div>Select where TCBot should publish the analysis after results are
ready.</div><br>" +
- "<label><input type='checkbox' id='commentTargetJira' " + (hasJira ?
"checked" : "") + "> JIRA" +
- ticketLink + "</label><br>" +
- "<label><input type='checkbox' id='commentTargetGithub' " + (hasGithub
? "checked" : "") + "> GitHub PR" +
- prLink + "</label>" +
- (showOnlyNoBlockers
- ? "<br><label><input type='checkbox' id='commentOnlyIfNoBlockers'
" +
- (commentPrefs.commentOnlyIfNoBlockers ? "checked" : "") + ">
Comment only if no blockers</label>"
- : "")
- );
-
- openActionDialog(dialog, "Comment targets", {
- "Continue": function () {
- var selected = [];
-
- if ($("#commentTargetJira").prop("checked"))
- selected.push("JIRA");
-
- if ($("#commentTargetGithub").prop("checked"))
- selected.push("GITHUB");
-
- if (selected.length === 0 && !allowNoTargets)
- return;
-
- var commentOnlyIfNoBlockers = showOnlyNoBlockers &&
- $("#commentOnlyIfNoBlockers").prop("checked");
-
- saveCommentPreferences(selected.join(","),
commentOnlyIfNoBlockers);
-
- $(this).dialog("close");
- onSelected(selected.join(","), commentOnlyIfNoBlockers);
- },
- "Cancel": function () {
- $(this).dialog("close");
- }
- });
-}
-
function triggerBuildsWithCommentOptions(tcServerCode, parentSuiteId,
suiteIdList, branchName, top, observe, ticketId,
prNum, baseBranchForTc, cleanRebuild=false, ticketLink, prLink,
showCommentOptions=true) {
triggerBuilds(tcServerCode, parentSuiteId, suiteIdList, branchName, top,
observe, ticketId, prNum,
@@ -991,9 +942,10 @@ function triggerBuildsWithCommentOptions(tcServerCode,
parentSuiteId, suiteIdLis
function triggerBuilds(tcServerCode, parentSuiteId, suiteIdList, branchName,
top, observe, ticketId, prNum, baseBranchForTc,
cleanRebuild=false, commentTargets, commentOnlyIfNoBlockers=false,
uiOptions) {
- var queueAtTop = isDefinedAndFilled(top) && top;
+ var queueAtTopOverride = typeof top === "boolean" ? top : null;
+ var queueAtTop = queueAtTopOverride !== null ? queueAtTopOverride : false;
var triggerPrefs = loadTriggerPreferences(queueAtTop, cleanRebuild);
- queueAtTop = triggerPrefs.queueAtTop;
+ queueAtTop = queueAtTopOverride !== null ? queueAtTopOverride :
triggerPrefs.queueAtTop;
cleanRebuild = triggerPrefs.cleanRebuild;
var observeJira = isDefinedAndFilled(observe) && observe;
var suiteIdsNotExists = !isDefinedAndFilled(suiteIdList) ||
suiteIdList.length === 0;
@@ -1067,7 +1019,7 @@ function triggerBuilds(tcServerCode, parentSuiteId,
suiteIdList, branchName, top
if (failed)
showActionError(triggerConfirm, resultText);
- if (!failed && observeJira)
+ if (!failed && hasCommentTargets(commentTargets))
appendActionStage(triggerConfirm, "Comment scheduled: " +
commentTargetsLabel(commentTargets) +
"; policy: " + commentPolicyLabel(commentOnlyIfNoBlockers) +
".");
else if (!failed)
@@ -1091,11 +1043,11 @@ function triggerBuilds(tcServerCode, parentSuiteId,
suiteIdList, branchName, top
}
function showTriggerStagesDialog() {
- var defaultTargets = isDefinedAndFilled(commentTargets)
- ? commentTargets : (observeJira ? "JIRA" : "");
- var showCommentOptions = opts.showCommentOptions || observeJira ||
isDefinedAndFilled(commentTargets);
+ var explicitTargets = hasCommentTargets(commentTargets) ?
commentTargets : (observeJira ? "JIRA" : null);
+ var defaultTargets = hasCommentTargets(explicitTargets) ?
explicitTargets : "";
+ var showCommentOptions = opts.showCommentOptions === true ||
observeJira || hasCommentTargets(commentTargets);
var commentPrefs = showCommentOptions
- ? loadCommentPreferences(defaultTargets, commentOnlyIfNoBlockers)
+ ? loadCommentPreferences(defaultTargets, commentOnlyIfNoBlockers,
explicitTargets)
: {targets: defaultTargets, commentOnlyIfNoBlockers:
commentOnlyIfNoBlockers};
defaultTargets = commentPrefs.targets;
commentOnlyIfNoBlockers = commentPrefs.commentOnlyIfNoBlockers;
@@ -1148,10 +1100,10 @@ function triggerBuilds(tcServerCode, parentSuiteId,
suiteIdList, branchName, top
if (showCommentOptions) {
commentTargets =
collectStageCommentTargets(triggerConfirm);
- commentOnlyIfNoBlockers =
isDefinedAndFilled(commentTargets) &&
+ commentOnlyIfNoBlockers =
hasCommentTargets(commentTargets) &&
triggerConfirm.find("input[name='stageCommentPolicy']:checked").val() ===
"clean";
saveCommentPreferences(commentTargets,
commentOnlyIfNoBlockers);
- observeJira = isDefinedAndFilled(commentTargets);
+ observeJira = hasCommentTargets(commentTargets);
}
else {
commentTargets = "";
@@ -1310,9 +1262,11 @@ function commentJira(serverCode, branchName,
parentSuiteId, ticketId, baseBranch
function showCommentStagesDialog() {
var dialog = ensureActionDialog("triggerDialog", "Post comment");
+ var explicitTargets = hasCommentTargets(commentTargets) ?
commentTargets : null;
var commentPrefs = loadCommentPreferences(
- isDefinedAndFilled(commentTargets) ? commentTargets : "JIRA",
- commentOnlyIfNoBlockers);
+ hasCommentTargets(commentTargets) ? commentTargets : "JIRA",
+ commentOnlyIfNoBlockers,
+ explicitTargets);
var defaultTargets = commentPrefs.targets;
commentOnlyIfNoBlockers = commentPrefs.commentOnlyIfNoBlockers;
var opts = uiOptions || {};
@@ -1349,7 +1303,7 @@ function commentJira(serverCode, branchName,
parentSuiteId, ticketId, baseBranch
"Post comment": function () {
commentTargets = collectStageCommentTargets(dialog);
- if (!isDefinedAndFilled(commentTargets)) {
+ if (!hasCommentTargets(commentTargets)) {
showActionError(dialog, "Select at least one comment
target.");
return;
@@ -1410,7 +1364,7 @@ function bindCommentPolicyVisibility(dialog) {
}
function updateCommentPolicyVisibility(dialog) {
- var hasTarget = isDefinedAndFilled(collectStageCommentTargets(dialog));
+ var hasTarget = hasCommentTargets(collectStageCommentTargets(dialog));
var policy = dialog.find(".stage-comment-policy");
if (hasTarget)
@@ -1644,7 +1598,7 @@ function actionDialogOptions(title, buttons) {
}
function commentTargetsLabel(targets) {
- return isDefinedAndFilled(targets) ? targets : "nothing";
+ return hasCommentTargets(targets) ? targets : "nothing";
}
function commentPolicyLabel(commentOnlyIfNoBlockers) {
diff --git a/ignite-tc-helper-web/src/main/webapp/monitoring.html
b/ignite-tc-helper-web/src/main/webapp/monitoring.html
index 8b5c2804..b194b850 100644
--- a/ignite-tc-helper-web/src/main/webapp/monitoring.html
+++ b/ignite-tc-helper-web/src/main/webapp/monitoring.html
@@ -12,7 +12,7 @@
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="js/common-1.7.js"></script>
- <script src="js/testfails-2.3.js"></script>
+ <script src="js/testfails-2.4.js?v=20260528-1"></script>
</head>
<body>
<script>
diff --git a/ignite-tc-helper-web/src/main/webapp/mutedissues/index.html
b/ignite-tc-helper-web/src/main/webapp/mutedissues/index.html
index 95719693..f6387e36 100644
--- a/ignite-tc-helper-web/src/main/webapp/mutedissues/index.html
+++ b/ignite-tc-helper-web/src/main/webapp/mutedissues/index.html
@@ -114,7 +114,7 @@
let gVue, g_Loading, g_TcBotVersion;
$(document).ready(function() {
- $.getScript("/js/testfails-2.3.js", function(data, textStatus, jqxhr){
});
+ $.getScript("/js/testfails-2.4.js?v=20260528-1", function(data,
textStatus, jqxhr){ });
$( document ).tooltip();
showQueryForm();
diff --git a/ignite-tc-helper-web/src/main/webapp/pr.html
b/ignite-tc-helper-web/src/main/webapp/pr.html
index e165ba17..4cd2be7f 100644
--- a/ignite-tc-helper-web/src/main/webapp/pr.html
+++ b/ignite-tc-helper-web/src/main/webapp/pr.html
@@ -13,7 +13,7 @@
<!-- production version, optimized for size and speed -->
<!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
<script src="js/common-1.7.js?v=20260509-6"></script>
- <script src="js/testfails-2.3.js?v=20260510-2"></script>
+ <script src="js/testfails-2.4.js?v=20260528-1"></script>
</head>
<body>
<script>
diff --git a/ignite-tc-helper-web/src/main/webapp/prs.html
b/ignite-tc-helper-web/src/main/webapp/prs.html
index 9110d65d..eeb35036 100644
--- a/ignite-tc-helper-web/src/main/webapp/prs.html
+++ b/ignite-tc-helper-web/src/main/webapp/prs.html
@@ -18,7 +18,7 @@
integrity="sha384-/rXc/GQVaYpyDdyxK+ecHPVYJSN9bmVFBvjA/9eOB+pb3F2w2N6fc5qB9Ew5yIns"
crossorigin="anonymous">
<script src="js/common-1.7.js?v=20260510-1"></script>
- <script src="js/testfails-2.3.js?v=20260510-2"></script>
+ <script src="js/testfails-2.4.js?v=20260528-1"></script>
<script src="js/prs-1.3.js?v=20260510-5"></script>
<style>