diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 8e715fdb92a79..0000000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: Bug Report (except security vulnerabilities) -about: Create a report to help us improve ---- - - - - - - -### Bug Description: - - -### Steps to Reproduce: - -1. -2. -3. - - - - -### Additional Information - -- Operating System: -- Theia Version: - - diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 001677217aa3b..0000000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Feature Request -about: Propose an idea for the project ---- - - - - -### Feature Description: - - - - - diff --git a/.github/ISSUE_TEMPLATE/report.yml b/.github/ISSUE_TEMPLATE/report.yml new file mode 100644 index 0000000000000..a3632bc497178 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/report.yml @@ -0,0 +1,81 @@ +name: Issue Report +description: Report a bug, request a feature, or suggest an enhancement. +title: "[] " +labels: [] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to file this issue. Please fill out the fields below — + the **Type** field determines which label gets applied automatically. + + **Note:** This template is not meant for security vulnerability disclosures. + Any such issue created here will be removed on sight. Please report vulnerabilities + to the Eclipse Foundation's security team instead — see SECURITY.md in the repository root. + + Have a question instead of a bug/feature? Please use + [GitHub Discussions](https://github.com/eclipse-theia/theia/discussions) rather than filing an issue. + + - type: dropdown + id: type + attributes: + label: Type + description: What kind of issue is this? + options: + - Bug + - Feature + - Enhancement + validations: + required: true + + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of the issue. + validations: + required: true + + - type: textarea + id: repro + attributes: + label: Steps to Reproduce (bugs only) + description: If this is a bug, list the steps to reproduce the behavior. Leave blank otherwise. + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. See error + validations: + required: false + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What did you expect to happen? (For bugs) or what should the feature/enhancement do? + validations: + required: false + + - type: input + id: os + attributes: + label: Operating System + description: Which OS are you running, if applicable? + validations: + required: false + + - type: input + id: version + attributes: + label: Theia Version + description: Which version of Theia are you using, if applicable? + validations: + required: false + + - type: textarea + id: context + attributes: + label: Additional Context + description: Anything else that would help — logs, screenshots, environment details. + validations: + required: false diff --git a/.github/workflows/auto-label-on-intake.yml b/.github/workflows/auto-label-on-intake.yml new file mode 100644 index 0000000000000..ed89e1eee0e62 --- /dev/null +++ b/.github/workflows/auto-label-on-intake.yml @@ -0,0 +1,71 @@ +name: Auto-label on intake + +# Fires the moment a new issue is opened via the structured issue form. +# Reads the "Type" dropdown answer and applies the matching label — +# removes the "bug" vs "type: bug" vs title-prefix ambiguity from Section 2.3. + +on: + issues: + types: [opened] + +permissions: + issues: write + +jobs: + apply-type-label: + runs-on: ubuntu-latest + steps: + - name: Parse Type field and apply label + uses: actions/github-script@v7 + with: + script: | + const body = context.payload.issue.body || ""; + + // Matches Theia's existing label set (no separate "feature" label exists, + // so Feature and Enhancement both map to "enhancement"). + // Keys must exactly match the dropdown options in report.yml. + const typeToLabel = { + "Bug": "bug", + "Feature": "enhancement", + "Enhancement": "enhancement", + "Question": "question", + }; + + // Issue forms render each field as "###