zenhub-automations/lib/handlers/pull_request.js

47 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

2020-12-29 08:46:46 +00:00
const zh = require("../zh-client"),
resolveIssueNumbers = require("../resolve-issue-number"),
{ INPUT_REVIEW_COLUMN } = process.env;
2020-12-29 08:46:46 +00:00
async function handleOpenedPR(tools) {
tools.log.info("Handling opened PR...");
const failures = [],
2020-12-29 08:46:46 +00:00
{ payload } = tools.context;
// Move PR closes to REVIEW_COLUMN
2020-11-30 09:22:46 +00:00
if (INPUT_REVIEW_COLUMN) {
2020-12-29 08:46:46 +00:00
let issueNumbers = resolveIssueNumbers(
payload.pull_request.head.ref,
payload.pull_request.body
);
for (let i = 0; i < issueNumbers.length; i++) {
let issueNo = issueNumbers[i];
try {
2020-12-29 08:46:46 +00:00
await zh.issues.moveIssueBetweenPipelines(
payload.repository.id,
issueNo,
{
pipeline_id: INPUT_REVIEW_COLUMN,
position: "top",
}
);
} catch (e) {
failures.push(`Failed to move issue ${issueNo}: ${e}`);
}
}
}
if (failures.length) {
2020-12-29 08:46:46 +00:00
throw new Error(
`Failed to execute some actions: ${failures
.map((x) => x.message || x)
.join(", ")}`
);
}
2020-12-29 08:46:46 +00:00
}
2020-11-30 10:25:29 +00:00
exports.opened = handleOpenedPR;
exports.ready_for_review = handleOpenedPR;