mirror of
https://github.com/stalwartlabs/stalwart.git
synced 2026-08-19 00:01:07 +00:00
68 lines
2.4 KiB
YAML
68 lines
2.4 KiB
YAML
name: Auto-close untriaged issues
|
|
|
|
on:
|
|
issues:
|
|
types: [opened, reopened]
|
|
|
|
permissions:
|
|
issues: write
|
|
|
|
jobs:
|
|
auto-close:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Close issues from non-allowed authors
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
// Users allowed to open issues directly. All other authors will have
|
|
// their issues auto-closed. Add GitHub usernames (lowercase) here to
|
|
// grant additional contributors permission to open issues.
|
|
const allowedAuthors = [
|
|
'mdecimus',
|
|
];
|
|
|
|
const issue = context.payload.issue;
|
|
const author = (issue.user && issue.user.login) || '';
|
|
|
|
if (allowedAuthors.includes(author.toLowerCase())) {
|
|
core.info(`Issue #${issue.number} opened by allowed author '${author}'. Skipping.`);
|
|
return;
|
|
}
|
|
|
|
const comment = [
|
|
`Hi @${author}, thanks for taking the time to file this report.`,
|
|
``,
|
|
`This issue is being **automatically closed** because all bug reports must first be triaged at our support portal: **[support.stalw.art](https://support.stalw.art)**. Please re-post this report there so that a maintainer can review it; once confirmed as a bug, an Issue will be created on your behalf.`,
|
|
``,
|
|
`You can sign in to support.stalw.art with your existing GitHub account, so no separate registration is required.`,
|
|
``,
|
|
`Thank you for understanding.`,
|
|
].join('\n');
|
|
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
body: comment,
|
|
});
|
|
|
|
await github.rest.issues.update({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
state: 'closed',
|
|
state_reason: 'not_planned',
|
|
});
|
|
|
|
try {
|
|
await github.rest.issues.lock({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
lock_reason: 'off-topic',
|
|
});
|
|
} catch (err) {
|
|
core.warning(`Could not lock issue #${issue.number}: ${err.message}`);
|
|
}
|