backport
Version:
A CLI tool that automates the process of backporting commits
41 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getReviewersFromPullRequests = void 0;
const rest_1 = require("@octokit/rest");
const lodash_1 = require("lodash");
const filterEmpty_1 = require("../../../utils/filterEmpty");
const logger_1 = require("../../logger");
const ora_1 = require("../../ora");
async function getReviewersFromPullRequests({ options, pullNumbers, }) {
const { githubApiBaseUrlV3, repoName, repoOwner, accessToken, interactive, authenticatedUsername, } = options;
const text = `Retrieving original reviewers`;
const spinner = (0, ora_1.ora)(interactive, text).start();
const octokit = new rest_1.Octokit({
auth: accessToken,
baseUrl: githubApiBaseUrlV3,
log: logger_1.logger,
});
try {
const promises = pullNumbers.map(async (pullNumber) => {
const reviews = await octokit.pulls.listReviews({
owner: repoOwner,
repo: repoName,
pull_number: pullNumber,
});
return reviews.data
.map((review) => review.user?.login)
.filter((username) => username !== authenticatedUsername)
.filter(filterEmpty_1.filterNil);
});
const reviewers = (0, lodash_1.uniq)((0, lodash_1.flatten)(await Promise.all(promises)));
spinner.stop();
return reviewers;
}
catch (e) {
// eslint-disable-next-line no-console
console.log(e);
spinner.fail(`Retrieving reviewers failed`);
}
}
exports.getReviewersFromPullRequests = getReviewersFromPullRequests;
//# sourceMappingURL=getReviewersFromPullRequests.js.map