refactor: extract api wrapper

This commit is contained in:
marocchino 2019-11-23 10:11:28 +09:00
parent 97da04af99
commit fd286f3230
No known key found for this signature in database
GPG key ID: AFF521DBDB122570
2 changed files with 30 additions and 23 deletions

View file

@ -1,40 +1,26 @@
import * as core from "@actions/core";
import { context, GitHub } from "@actions/github";
import { findPreviousComment, createComment, updateComment } from "./comment";
async function run() {
try {
const repo = context.repo;
const issue_number = context?.payload?.pull_request?.number;
if (!issue_number) {
const number = context?.payload?.pull_request?.number;
const body = core.getInput("message");
const githubToken = core.getInput("GITHUB_TOKEN");
if (!number) {
core.setFailed("This action only works for pull_request");
return;
}
const body = core.getInput("message");
const githubToken = core.getInput("GITHUB_TOKEN");
if (!body || !githubToken) {
core.setFailed("invalid input: please check your workflow");
return;
}
const octokit = new GitHub(githubToken);
const { data: comments } = await octokit.issues.listComments({
...repo,
issue_number
});
const myComment = comments.find(
comment => comment.user.login === "github-actions[bot]"
);
if (myComment) {
await octokit.issues.updateComment({
...repo,
comment_id: myComment.id,
body
});
const previous = await findPreviousComment(octokit, repo, number);
if (previous) {
await updateComment(octokit, repo, previous.id, body);
} else {
await octokit.issues.createComment({
...repo,
issue_number,
body
});
await createComment(octokit, repo, number, body);
}
} catch ({ message }) {
core.setFailed(message);