UNPKG

morning-builds-core

Version:

Core functionality for Morning Builds

32 lines 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Table = require("cli-table"); exports.initMessage = function (dryRun) { return ("\nFetching failing builds...\n" + (dryRun ? 'This is a dry-run, no actions will be taken on failing builds (like re-runs, updating flaky Jira issues or storing statistics or state)' : '') + "\n"); }; exports.failedBuildsCountMessage = function (failingBuilds) { return (failingBuilds.length + " failing builds today"); }; exports.failCategoriesCountMessage = function (buildsWithFailDetails) { var countMap = buildsWithFailDetails .map(function (b) { return b.failReason; }) .reduce(function (map, reason) { return Object.assign(map, (_a = {}, _a[reason] = (map[reason] || 0) + 1, _a)); var _a; }, {}); var countMsg = Object.keys(countMap) .map(function (k) { return countMap[k] + " builds failed due to " + k + "."; }) .join('\n'); return countMsg; }; exports.formatDetailsTable = function (buildsWithFailDetails) { var table = new Table({}); table.push(['Build', 'Fail reason', 'Details', 'Issue']); table.push.apply(table, buildsWithFailDetails .map(function (b) { return ({ buildKey: b.build.planKey + "-" + b.build.resultNumber, failReason: b.failReason, details: b.failDetails ? b.failDetails.join('\n') : '', //TODO: test with tests with and without jira issues issues: (b.failingTests ? "" + b.failingTests.map(function (t) { return (t.issue ? t.issue.key : null); }).filter(function (i) { return i; }).join('\n') : '') }); }) .map(function (b) { return [b.buildKey, b.failReason, b.details, b.issues]; })); return "\n" + table.toString() + "\n"; }; //# sourceMappingURL=format-messages.js.map