UNPKG

@atomist/automation-client

Version:

Atomist API for software low-level client

32 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ActionResult_1 = require("../../action/ActionResult"); const gitHub_1 = require("../../util/gitHub"); const GitHubRepoRef_1 = require("../common/GitHubRepoRef"); /** * Create an issue from a review, using Markdown * @param {ProjectReview} pr * @param {AllReposByDefaultParameters} params * @param {string} name * @return {any} */ exports.issueRaisingReviewRouter = (pr, params, name) => { if (GitHubRepoRef_1.isGitHubRepoRef(pr.repoId)) { const issue = toIssue(pr, name); return gitHub_1.raiseIssue(params.targets.credentials.token, pr.repoId, issue) .then(ap => ActionResult_1.successOn(pr.repoId)); } else { return Promise.resolve(ActionResult_1.failureOn(pr.repoId, new Error(`Not a GitHub Repo: ${JSON.stringify(pr.repoId)}`))); } }; function toIssue(pr, name) { return { title: `${pr.comments.length} problems found by ${name}`, body: "Problems:\n\n" + pr.comments.map(c => toMarkdown(pr.repoId, c)).join("\n"), }; } function toMarkdown(grr, rc) { return `-\t**${rc.severity}** - ${rc.category}: [${rc.detail}](${gitHub_1.deepLink(grr, rc.sourceLocation)})`; } //# sourceMappingURL=issueRaisingReviewRouter.js.map