reviewbot

Source code for the is-a.dev r...
Log | Files | Refs | README | LICENSE

commit 1890e8e37b77d62176f27277787efb0e98be10dd
parent 4e2236f97c5e4c49df691ea5be0480e01fa1a4f9
Author: iostpa <iostpa@iostpa.com>
Date:   Sat, 18 Apr 2026 11:15:39 +0300

Add label checker and make Docker build from bun.lock

Diffstat:
MDockerfile | 2+-
Mindex.js | 28+++++++++++++++++++++++++---
2 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/Dockerfile b/Dockerfile @@ -1,6 +1,6 @@ FROM oven/bun WORKDIR /app COPY package.json bun.lock ./ -RUN bun install +RUN bun install --frozen-lockfile COPY . . CMD ["bun", "run", "server"] \ No newline at end of file diff --git a/index.js b/index.js @@ -18,6 +18,7 @@ const secret = process.env.WEBHOOK_SECRET; const newPRs = fs.readFileSync('./message/opened.md', 'utf8'); const mergedPRs = fs.readFileSync('./message/merged.md', 'utf8'); const draftPRs = fs.readFileSync('./message/draft.md', 'utf8'); +const ignoreLabels = ["maintainer"]; Sentry.init({ dsn: sentryDsn, @@ -47,9 +48,19 @@ app.octokit.log.debug(`Authenticated as '${data.name}'`); app.webhooks.on('pull_request.opened', async ({ octokit, payload }) => { console.log(`Received a open pull request event for #${payload.pull_request.number} on https://github.com/${payload.repository.full_name}`); try { + const labels = await octokit.rest.issues.listLabelsOnIssue({ + owner: payload.repository.owner.login, + repo: payload.repository.name, + issue_number: payload.pull_request.number + }); + const allLabels = labels.data.map((label) => label.name); + if (ignoreLabels.some((label) => allLabels.includes(label))) { + console.log(`#${payload.pull_request.number} from https://github.com/${payload.repository.full_name} is by a maintainer, skipping pull request.`) + return; + } if (payload.pull_request.draft === true) { await octokit.rest.issues.createComment({ - owner:payload.repository.owner.login, + owner: payload.repository.owner.login, repo: payload.repository.name, issue_number: payload.pull_request.number, body: draftPRs @@ -64,6 +75,7 @@ app.webhooks.on('pull_request.opened', async ({ octokit, payload }) => { }); console.log(`Sent a opened message to #${payload.pull_request.number} on https://github.com/${payload.repository.full_name}`); }; + ; } catch (error) { Sentry.captureException(error); fastify.log.error(error); @@ -80,12 +92,22 @@ app.webhooks.on('pull_request.closed', async ({ octokit, payload }) => { console.log(`Received a closed pull request event for #${payload.pull_request.number} on https://github.com/${payload.repository.full_name}`); try { if (payload.pull_request.merged === true) { + const labels = await octokit.rest.issues.listLabelsOnIssue({ + owner: payload.repository.owner.login, + repo: payload.repository.name, + issue_number: payload.pull_request.number + }); + const allLabels = labels.data.map((label) => label.name); + if (ignoreLabels.some((label) => allLabels.includes(label))) { + return; + } await octokit.rest.issues.createComment({ - owner:payload.repository.owner.login, + owner: payload.repository.owner.login, repo: payload.repository.name, issue_number: payload.pull_request.number, body: mergedPRs - }); + }); + ; console.log(`Sent a merged message to #${payload.pull_request.number} on https://github.com/${payload.repository.full_name}`); } else { return; }; } catch (error) {
© notamitgamer • Site Built: 2026-07-21 13:58:23 UTC • git-mirror commit: 1037f62 [view raw info]
Originally created with stagit • modified by notamitgamer
Forked from github.com/notamitgamer/git-mirror