mirror of
https://github.com/open-webui/open-webui.git
synced 2026-08-13 01:02:25 -06:00
ci: auto-label bug reports created outside the issue form (#27256)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
|||||||
|
name: Issue Labeler
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
label-bug-reports:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Add "bug" label to unlabeled bug reports
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const issue = context.payload.issue;
|
||||||
|
|
||||||
|
// Web-form submissions already carry the label from the issue template
|
||||||
|
if (issue.labels.some((label) => label.name === 'bug')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const title = issue.title ?? '';
|
||||||
|
const body = issue.body ?? '';
|
||||||
|
|
||||||
|
// Freeform bug reports: "issue: ...", "bug: ...", "fix: ...", "[Bug] ...", "issue/UX: ..."
|
||||||
|
const bugLikeTitle = /^\s*\[?(bug|issue|fix)\]?\s*[:/\-]/i.test(title);
|
||||||
|
|
||||||
|
// API/CLI-created issues that reproduce the bug report form structure.
|
||||||
|
// Only headings distinctive to the bug form (both are required fields there) —
|
||||||
|
// generic headings like "Expected Behavior" also appear in freeform feature requests.
|
||||||
|
const bugFormBody = /###\s*(Installation Method|Open WebUI Version)/i.test(body);
|
||||||
|
|
||||||
|
if (bugLikeTitle || bugFormBody) {
|
||||||
|
await github.rest.issues.addLabels({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: issue.number,
|
||||||
|
labels: ['bug']
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user