2020-12-29 08:46:46 +00:00
|
|
|
const zh = require("../zh-client"),
|
|
|
|
resolveIssueNumbers = require("../resolve-issue-number"),
|
|
|
|
{ INPUT_REVIEW_COLUMN } = process.env;
|
2019-07-11 17:14:43 +00:00
|
|
|
|
2020-12-29 08:46:46 +00:00
|
|
|
async function handleOpenedPR(tools) {
|
|
|
|
tools.log.info("Handling opened PR...");
|
2019-07-11 17:14:43 +00:00
|
|
|
|
|
|
|
const failures = [],
|
2020-12-29 08:46:46 +00:00
|
|
|
{ payload } = tools.context;
|
2019-07-11 17:14:43 +00:00
|
|
|
|
|
|
|
// 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
|
|
|
|
);
|
2019-07-11 17:14:43 +00:00
|
|
|
|
|
|
|
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",
|
|
|
|
}
|
|
|
|
);
|
2019-07-11 17:14:43 +00:00
|
|
|
} 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(", ")}`
|
|
|
|
);
|
2019-07-11 17:14:43 +00:00
|
|
|
}
|
2020-12-29 08:46:46 +00:00
|
|
|
}
|
2020-11-30 10:25:29 +00:00
|
|
|
|
|
|
|
exports.opened = handleOpenedPR;
|
|
|
|
exports.ready_for_review = handleOpenedPR;
|