UNPKG

@pagopa/danger-plugin

Version:

Shared rules for DangerJS, used in the PagoPA projects

68 lines (67 loc) 1.9 kB
"use strict"; /** * type definition for generic tickets / stories and Jira conversion */ Object.defineProperty(exports, "__esModule", { value: true }); exports.fromJiraToGenericTicket = exports.ticketOrdByType = exports.ticketPriority = void 0; const jira_1 = require("./jira"); exports.ticketPriority = { chore: 0, epic: 3, feat: 2, fix: 1, }; exports.ticketOrdByType = { equals: (x, y) => x.type === y.type, compare: (x, y) => exports.ticketPriority[x.type] < exports.ticketPriority[y.type] ? -1 : exports.ticketPriority[x.type] > exports.ticketPriority[y.type] ? 1 : 0, }; /** * From {@link JiraIssueTypeName} to {@link GenericTicketType} * * @param jiraType */ const convertJiraTypeToGeneric = (jiraType) => { switch (jiraType) { case "Bug": return "fix"; case "Epic": return "epic"; case "Sub-task": case "Sottotask": return "chore"; case "Story": return "feat"; case "Task": return "chore"; default: return "chore"; } }; /** * From {@link JiraIssueResponse} to {@link GenericTicket} * * @param jira */ const fromJiraToGenericTicket = (jira) => ({ id: jira.key, parent: jira.fields.parent ? (0, exports.fromJiraToGenericTicket)({ ...jira.fields.parent, fields: { ...jira.fields.parent.fields, labels: [], project: jira.fields.project, }, }) : undefined, projectId: jira.fields.project.key, tags: jira.fields.labels, title: jira.fields.summary, type: convertJiraTypeToGeneric(jira.fields.issuetype.name), url: new URL(jira.key, `https://${jira_1.JIRA_HOST_NAME}/browse/`).toString(), }); exports.fromJiraToGenericTicket = fromJiraToGenericTicket;