From 8de67730dd8aead50b5d1ced2e0c4b5c5186f387 Mon Sep 17 00:00:00 2001 From: Seprintour Date: Fri, 28 Apr 2023 07:39:22 +0100 Subject: [PATCH] fix: move helpers to helper file --- src/handlers/assign/auto.ts | 28 +++------------------------- src/helpers/issue.ts | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 25 deletions(-) diff --git a/src/handlers/assign/auto.ts b/src/handlers/assign/auto.ts index c58f5214d..d46a46aa1 100644 --- a/src/handlers/assign/auto.ts +++ b/src/handlers/assign/auto.ts @@ -1,26 +1,8 @@ -import { Context } from "probot"; import { getBotContext, getLogger } from "../../bindings"; -import { addAssignees } from "../../helpers"; +import { addAssignees, getIssueByNumber, getPullRequests } from "../../helpers"; import { gitLinkedIssueParser } from "../../helpers/parser"; import { Payload } from "../../types"; -// Use `context.octokit.rest` to get the pull requests for the repository -export const getPullRequests = async (context: Context) => { - const logger = getLogger(); - const payload = context.payload as Payload; - try { - const { data: pulls } = await context.octokit.rest.pulls.list({ - owner: payload.repository.owner.login, - repo: payload.repository.name, - state: "open", - }); - return pulls; - } catch (e: unknown) { - logger.debug(`Fetching pull requests failed!, reason: ${e}`); - return []; - } -}; - // Check for pull requests linked to their respective issues but not assigned to them export const checkPullRequests = async () => { const context = getBotContext(); @@ -51,11 +33,8 @@ export const checkPullRequests = async () => { // Check if the pull request opener is assigned to the issue const opener = pull!.user!.login; - const { data: issue } = await context.octokit.rest.issues.get({ - owner: payload.repository.owner.login, - repo: payload.repository.name, - issue_number: +linkedIssueNumber, - }); + + let issue = await getIssueByNumber(context, +linkedIssueNumber); // if issue is already assigned, continue if (issue!.assignees!.length > 0) { @@ -67,7 +46,6 @@ export const checkPullRequests = async () => { if (!assignedUsernames.includes(opener)) { await addAssignees(+linkedIssueNumber, [opener]); logger.debug(`Assigned pull request #${pull.number} opener to issue ${linkedIssueNumber}.`); - console.log(`Assigned pull request #${pull.number} opener to issue ${linkedIssueNumber}.`); } } }; diff --git a/src/helpers/issue.ts b/src/helpers/issue.ts index 74f16b17f..d60df9ee7 100644 --- a/src/helpers/issue.ts +++ b/src/helpers/issue.ts @@ -1,3 +1,4 @@ +import { Context } from "probot"; import { getBotContext, getLogger } from "../bindings"; import { Comment, Payload } from "../types"; import { checkRateLimitGit } from "../utils"; @@ -187,3 +188,37 @@ export const deleteLabel = async (label: string): Promise => { logger.debug(`Label deletion failed!, reason: ${e}`); } }; + +// Use `context.octokit.rest` to get the pull requests for the repository +export const getPullRequests = async (context: Context, state: "open" | "closed" | "all" = "open") => { + const logger = getLogger(); + const payload = context.payload as Payload; + try { + const { data: pulls } = await context.octokit.rest.pulls.list({ + owner: payload.repository.owner.login, + repo: payload.repository.name, + state, + }); + return pulls; + } catch (e: unknown) { + logger.debug(`Fetching pull requests failed!, reason: ${e}`); + return []; + } +}; + +// Get issues by issue number +export const getIssueByNumber = async (context: Context, issue_number: number) => { + const logger = getLogger(); + const payload = context.payload as Payload; + try { + const { data: issue } = await context.octokit.rest.issues.get({ + owner: payload.repository.owner.login, + repo: payload.repository.name, + issue_number, + }); + return issue; + } catch (e: unknown) { + logger.debug(`Fetching issue failed!, reason: ${e}`); + return; + } +};