init pr reminder
This commit is contained in:
parent
270b54e710
commit
1f7eaf1b3f
15
.github/workflows/pull-request-reviewer-reminder.yml
vendored
Normal file
15
.github/workflows/pull-request-reviewer-reminder.yml
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
name: 'Pull request reviewer reminder'
|
||||
on:
|
||||
schedule:
|
||||
- cron: '* * * * 1-5'
|
||||
|
||||
jobs:
|
||||
pull-request-reviewer-reminder:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: install
|
||||
run: npm i
|
||||
|
||||
- name: notify
|
||||
run: ./node_modules/.bin/ts-node src/main-pr-review-reminders.ts
|
||||
|
||||
60
src/main-pr-review-reminders.ts
Normal file
60
src/main-pr-review-reminders.ts
Normal file
@ -0,0 +1,60 @@
|
||||
import * as core from "@actions/core";
|
||||
import * as github from "@actions/github";
|
||||
|
||||
const token = process.env.TOKEN;
|
||||
if (!token) {
|
||||
console.error("no TOKEN env provided");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
async function run(): Promise<void> {
|
||||
const octokit = github.getOctokit(token);
|
||||
|
||||
try {
|
||||
const { data: pullRequests } = await octokit.pulls.list({
|
||||
repo: "BlueWallet",
|
||||
owner: "BlueWallet",
|
||||
state: "open",
|
||||
});
|
||||
|
||||
for (const pr of pullRequests) {
|
||||
if (pr.number != 2854) continue; // debug fixme
|
||||
console.log(`${pr.title} (${pr.number})`);
|
||||
|
||||
const _requestedReviewers = {};
|
||||
|
||||
const requestedReviews = await octokit.request("GET /repos/{owner}/{repo}/pulls/{ref}/requested_reviewers", {
|
||||
repo: "BlueWallet",
|
||||
owner: "BlueWallet",
|
||||
ref: pr.number,
|
||||
});
|
||||
|
||||
for (const reviewer of requestedReviews?.data?.users || []) {
|
||||
_requestedReviewers[reviewer.login] = true;
|
||||
}
|
||||
|
||||
console.warn('requested reviewers:', _requestedReviewers);
|
||||
|
||||
for (const user of requestedReviews?.data?.users) {
|
||||
const reviewer = user.login;
|
||||
console.log(reviewer, 'SHOULD BE NOTIFIED');
|
||||
const body = "Wake the fuck up samurai, we have PRs to merge\n\n" +
|
||||
"\n\n" +
|
||||
`[all PRs for @${reviewer}] https://github.com/BlueWallet/BlueWallet/pulls/review-requested/${reviewer}`
|
||||
|
||||
await octokit.issues.createComment({
|
||||
repo: "BlueWallet",
|
||||
owner: "BlueWallet",
|
||||
issue_number: pr.number,
|
||||
body,
|
||||
});
|
||||
}
|
||||
|
||||
console.log("=======================================================\n");
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(error);
|
||||
}
|
||||
}
|
||||
|
||||
run();
|
||||
Loading…
Reference in New Issue
Block a user