From 381e55480dcca441177c11d3fb7383f1663842af Mon Sep 17 00:00:00 2001 From: csehatt741 <77381875+csehatt741@users.noreply.github.com> Date: Mon, 17 Feb 2025 12:11:02 +0100 Subject: [PATCH] Update issue-pr-reminder.yaml --- .github/workflows/issue-pr-reminder.yaml | 54 +++++++++++++----------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/.github/workflows/issue-pr-reminder.yaml b/.github/workflows/issue-pr-reminder.yaml index b7b4f6965..55e6cdda2 100644 --- a/.github/workflows/issue-pr-reminder.yaml +++ b/.github/workflows/issue-pr-reminder.yaml @@ -2,7 +2,7 @@ name: Issue PR Reminder on: schedule: - - cron: '0 * * * *' # Runs every hour, at the start of each hour + - cron: '0 * * * *' # Runs every hour workflow_dispatch: jobs: @@ -68,34 +68,38 @@ jobs: return allIssues; } - const issues = await listOpenIssuesWithoutPR(); + async function createReminders() { + const issues = await listOpenIssuesWithoutPR(); - issues.forEach(issue => { - const issueCreatedAt = new Date(issue.created_at); - const createReminderAfter = issueCreatedAt.setHours(issueCreatedAt.getHours() + createReminderAfterHours); + for (const issue of issues) { + const issueCreatedAt = new Date(issue.created_at); + const createReminderAfter = issueCreatedAt.setHours(issueCreatedAt.getHours() + createReminderAfterHours); - // Check if it's time to create the reminder - if(now < createReminderAfter) { - return; - } + // Check if it's time to create the reminder + if (now < createReminderAfter) { + continue; + } + + // Create reminder for each assignee + const comments = await listIssueComments(issue); - // Create reminder for each assignee - const comments = await listIssueComments(issue); + for (const assignee of issue.assignees) { + const reminder = `@${assignee.login}, please open a draft PR linking this issue!`; - issue.assignees.forEach(assignee => { - const reminder = `@${assignee.login}, please open a draft PR linking this issue!`; + // Check if the issue already has the reminder + if (comments.some(comment => comment.body === reminder)) { + continue; + } - // Check if the issue already has the reminder - if(comments.some(comment => comment.body === reminder)) { - return; + // Create the reminder + await github.rest.issues.createComment({ + owner, + repo, + issue_number: issue.number, + body: reminder + }); } + } + } - // Create the reminder - await github.rest.issues.createComment({ - owner, - repo, - issue_number: issue.number, - body: reminder - }); - }); - }); \ No newline at end of file + await createReminders();