67 lines
2.2 KiB
YAML
67 lines
2.2 KiB
YAML
name: Close untitled issues
|
|
|
|
on:
|
|
issues:
|
|
types: [opened]
|
|
|
|
permissions:
|
|
issues: write
|
|
|
|
jobs:
|
|
check-title:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
issues: write
|
|
steps:
|
|
- name: Close if title is empty or generic
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const title = context.payload.issue.title.trim();
|
|
const badTitles = [
|
|
"[bug]",
|
|
"bug report",
|
|
"bug",
|
|
"issue",
|
|
];
|
|
|
|
const featureRequestTitles = [
|
|
"feature request",
|
|
"[feature]",
|
|
"[feature request]",
|
|
"[enhancement]"
|
|
]
|
|
|
|
const titleLower = title.toLowerCase();
|
|
|
|
if (badTitles.includes(titleLower)) {
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.payload.issue.number,
|
|
body: "This issue was closed because no title was provided. Please re-open with a descriptive title that summarizes the problem."
|
|
});
|
|
|
|
await github.rest.issues.update({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.payload.issue.number,
|
|
state: "closed",
|
|
state_reason: "not_planned"
|
|
});
|
|
} else if (featureRequestTitles.some(t => titleLower.startsWith(t))) {
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.payload.issue.number,
|
|
body: "Feature requests should be made in the [Discussions](https://github.com/mauriceboe/TREK/discussions/new?category=feature-requests) — not as issues. This issue has been closed."
|
|
});
|
|
|
|
await github.rest.issues.update({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.payload.issue.number,
|
|
state: "closed",
|
|
state_reason: "not_planned"
|
|
});
|
|
} |