diff --git a/.github/ISSUE_TEMPLATE/.common.yaml b/.github/ISSUE_TEMPLATE/.common.yaml
new file mode 100644
index 0000000000..57ea212010
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/.common.yaml
@@ -0,0 +1,92 @@
+# This file contains common fields for all issue templates
+# Each field is identified by its ID, and are synced with the `sync.js` script
+#
+# WARNING: After updating this file, run `yarn sync-issue-templates`
+#
+
+body:
+ - id: issue-labels
+ type: checkboxes
+ attributes:
+ label: '๐ Issue Labels'
+ options:
+ - label: 'Please familiarize yourself with the issue labels used in this project: [LABELS.md](https://github.com/backstage/backstage/blob/master/LABELS.md)'
+ required: true
+ - id: search-terms
+ type: textarea
+ attributes:
+ label: '๐ Search Terms'
+ render: plain
+ description: |
+ What search terms did you use when trying to find similar issues?
+ placeholder: |
+ List of keywords you searched for before creating this issue. Write them down here so that others can find this issue more easily and help provide feedback.
+
+ e.g. "catalog github rate limited", "http root service configurer", "scaffolder template include", "entity card title"
+ validations:
+ required: true
+ - id: project-area
+ type: dropdown
+ attributes:
+ label: '๐๏ธ Project Area'
+ description: Which project area is this issue most closely related to? This will help find an owner for the issue faster.
+ options:
+ - Unknown
+ - Auditor
+ - Auth
+ - Catalog
+ - CLI Tooling
+ - Core Framework
+ - Design System
+ - Documentation
+ - Events System
+ - Home
+ - Kubernetes Plugin
+ - Notifications
+ - OpenAPI Tooling
+ - Permission Framework
+ - Search
+ - Software Templates
+ - TechDocs
+ validations:
+ required: true
+ - type: dropdown
+ id: integration
+ attributes:
+ label: '๐ External Integration'
+ description: Is this issue related to an integration with any particular external system?
+ options:
+ - N/A
+ - AWS
+ - Azure
+ - Azure DevOps
+ - Bitbucket Cloud
+ - Bitbucket Server
+ - GCP
+ - Gerrit
+ - Gitea
+ - GitHub
+ - GitLab
+ - Other
+ validations:
+ required: true
+ - id: read-code-of-conduct
+ type: checkboxes
+ attributes:
+ label: 'Have you read the Code of Conduct?'
+ options:
+ - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
+ required: true
+ - id: willing-to-submit-pr
+ type: dropdown
+ attributes:
+ label: Are you willing to submit a PR?
+ description: This is absolutely not required, but we are happy to guide you in the contribution process.
+ options:
+ - Undecided
+ - Yes, and I have enough information to get started
+ - Yes, but I would like some more guidance
+ - No, but I'm happy to collaborate on a PR with someone else
+ - No, I don't have time to work on this right now
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/01_bug.yaml b/.github/ISSUE_TEMPLATE/01_bug.yaml
new file mode 100644
index 0000000000..e0d563afc3
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/01_bug.yaml
@@ -0,0 +1,161 @@
+name: '๐ชฒ Report a bug'
+description: 'Report a bug that you have encountered'
+labels:
+ - type:bug
+ - status:needs-triage
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Please fill in each section completely, and [search in GitHub](https://github.com/backstage/backstage/search?type=Issues)
+ before reporting a new bug to avoid duplicates. Thank you!
+ # This field is managed by .common.yaml
+ - id: issue-labels
+ type: checkboxes
+ attributes:
+ label: '๐ Issue Labels'
+ options:
+ - label: 'Please familiarize yourself with the issue labels used in this project: [LABELS.md](https://github.com/backstage/backstage/blob/master/LABELS.md)'
+ required: true
+ # This field is managed by .common.yaml
+ - id: search-terms
+ type: textarea
+ attributes:
+ label: '๐ Search Terms'
+ render: plain
+ description: |
+ What search terms did you use when trying to find similar issues?
+ placeholder: |
+ List of keywords you searched for before creating this issue. Write them down here so that others can find this issue more easily and help provide feedback.
+
+ e.g. "catalog github rate limited", "http root service configurer", "scaffolder template include", "entity card title"
+ validations:
+ required: true
+ - type: markdown
+ attributes:
+ value: '
' # empty space
+ - type: markdown
+ attributes:
+ value: |
+ ## Defining the bug
+
+ Defining the bug accurately will help ensure that it is identified and fixed correctly.
+ # This field is managed by .common.yaml
+ - id: project-area
+ type: dropdown
+ attributes:
+ label: '๐๏ธ Project Area'
+ description: Which project area is this issue most closely related to? This will help find an owner for the issue faster.
+ options:
+ - Unknown
+ - Auditor
+ - Auth
+ - Catalog
+ - CLI Tooling
+ - Core Framework
+ - Design System
+ - Documentation
+ - Events System
+ - Home
+ - Kubernetes Plugin
+ - Notifications
+ - OpenAPI Tooling
+ - Permission Framework
+ - Search
+ - Software Templates
+ - TechDocs
+ validations:
+ required: true
+ # This field is managed by .common.yaml
+ - type: dropdown
+ id: integration
+ attributes:
+ label: '๐ External Integration'
+ description: Is this issue related to an integration with any particular external system?
+ options:
+ - N/A
+ - AWS
+ - Azure
+ - Azure DevOps
+ - Bitbucket Cloud
+ - Bitbucket Server
+ - GCP
+ - Gerrit
+ - Gitea
+ - GitHub
+ - GitLab
+ - Other
+ validations:
+ required: true
+ - type: textarea
+ id: description
+ validations:
+ required: true
+ attributes:
+ label: '๐ Description & Context'
+ placeholder: |
+ Describe the observed behavior that you believe to be incorrect, as well as any additional context that might be useful in understanding the bug.
+
+ e.g. "When I navigate to the catalog index page, it loads without any issues. This might be related to https://xkcd.com/1172"
+ - type: textarea
+ id: expected-behavior
+ validations:
+ required: true
+ attributes:
+ label: '๐ Expected Behavior'
+ placeholder: |
+ Describe the behavior or result that you expected instead of the observed one.
+
+ e.g. "I expect the catalog index page to overheat my CPU"
+ - type: markdown
+ attributes:
+ value: '
' # empty space
+ - type: markdown
+ attributes:
+ value: |
+ ## Reproducing the bug
+
+ Being able to easily reproduce the bug will significantly increase the likelihood that it can be identified and fixed. Please provide a repository where the bug can be reproduced, unless this is a critical bug that needs immediate attention.
+
+ If you are unable to provide a reproduction repository, please explain the reproduction steps in as much detail as possible, and include the output of `yarn backstage-cli info` if relevant.
+
+ If inadequate or no reproduction steps are provided, the bug report is likely to be labeled as needing reproduction steps before it can be progressed further.
+ - type: input
+ id: reproduction-repo
+ attributes:
+ label: '๐ฆ Reproduction Repo'
+ description: A link to a GitHub repository where the issue can be reproduced
+ placeholder: https://github.com/ghost/my-repro-repo
+ validations:
+ required: false
+ - type: textarea
+ id: steps-to-reproduce
+ attributes:
+ label: '๐ฅพ Reproduction steps'
+ description: 'How do you trigger this bug? Please walk us through it step by step.'
+ placeholder: |
+ 1. Go to '...'
+ 2. Click on '....'
+ 3. Scroll down to '....'"
+ validations:
+ required: false
+ # This field is managed by .common.yaml
+ - id: read-code-of-conduct
+ type: checkboxes
+ attributes:
+ label: 'Have you read the Code of Conduct?'
+ options:
+ - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
+ required: true
+ - type: dropdown
+ attributes:
+ label: Are you willing to submit PR?
+ description: This is absolutely not required, but we are happy to guide you in the contribution process.
+ options:
+ - Undecided
+ - Yes, and I have enough information to get started
+ - Yes, but I would like some more guidance
+ - No, but I'm happy to collaborate on a PR with someone else
+ - No, I don't have time to work on this right now
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/02_documentation.yaml b/.github/ISSUE_TEMPLATE/02_documentation.yaml
new file mode 100644
index 0000000000..ad530522eb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/02_documentation.yaml
@@ -0,0 +1,97 @@
+name: '๐ Report an issue in the documentation'
+description: 'Report an issue in the Backstage documentation'
+labels:
+ - domain:docs
+ - type:documentation
+ - status:needs-triage
+body:
+ - type: markdown
+ attributes:
+ value: |
+ This template is used to report issues in the Backstage documentation.
+
+ The documentation at [backstage.io](https://backstage.io) is only updated when a new release is made. Before reporting an issue here, please verify that the issue also exists in the ["next"](https://backstage.io/docs/next/overview/what-is-backstage) version of the documentation, which you can access using the top-right dropdown menu.
+ # This field is managed by .common.yaml
+ - id: issue-labels
+ type: checkboxes
+ attributes:
+ label: '๐ Issue Labels'
+ options:
+ - label: 'Please familiarize yourself with the issue labels used in this project: [LABELS.md](https://github.com/backstage/backstage/blob/master/LABELS.md)'
+ required: true
+ # This field is managed by .common.yaml
+ - id: project-area
+ type: dropdown
+ attributes:
+ label: '๐๏ธ Project Area'
+ description: Which project area is this issue most closely related to? This will help find an owner for the issue faster.
+ options:
+ - Unknown
+ - Auditor
+ - Auth
+ - Catalog
+ - CLI Tooling
+ - Core Framework
+ - Design System
+ - Documentation
+ - Events System
+ - Home
+ - Kubernetes Plugin
+ - Notifications
+ - OpenAPI Tooling
+ - Permission Framework
+ - Search
+ - Software Templates
+ - TechDocs
+ validations:
+ required: true
+ # This field is managed by .common.yaml
+ - type: dropdown
+ id: integration
+ attributes:
+ label: '๐ External Integration'
+ description: Is this issue related to an integration with any particular external system?
+ options:
+ - N/A
+ - AWS
+ - Azure
+ - Azure DevOps
+ - Bitbucket Cloud
+ - Bitbucket Server
+ - GCP
+ - Gerrit
+ - Gitea
+ - GitHub
+ - GitLab
+ - Other
+ validations:
+ required: true
+ - type: textarea
+ id: description
+ validations:
+ required: true
+ attributes:
+ label: '๐ Description'
+ description: Describe the problem you have found in the documentation.
+ placeholder: |
+ Please provide links to the specific pages and sections that need to be corrected, and describe the problem you have found.
+ # This field is managed by .common.yaml
+ - id: read-code-of-conduct
+ type: checkboxes
+ attributes:
+ label: 'Have you read the Code of Conduct?'
+ options:
+ - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
+ required: true
+ - type: dropdown
+ attributes:
+ label: Are you willing to submit PR?
+ description: This is absolutely not required, but we are happy to guide you in the contribution process.
+ options:
+ - Undecided
+ - Yes, and I have enough information to get started
+ - Yes, but I would like some more guidance
+ - No, but I'm happy to collaborate on a PR with someone else
+ - No, I don't have time to work on this right now
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/03_suggestion.yaml b/.github/ISSUE_TEMPLATE/03_suggestion.yaml
new file mode 100644
index 0000000000..3178ae9fd0
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/03_suggestion.yaml
@@ -0,0 +1,113 @@
+name: '๐ก Suggest a change'
+description: 'Suggest an idea for a new feature or change to Backstage'
+labels:
+ - type:suggestion
+ - status:needs-triage
+body:
+ - type: markdown
+ attributes:
+ value: |
+ This template helps you propose new features, enhancements, or other ideas for Backstage. You can keep your proposal lightweight, but please provide enough detail for reviewers to understand and respond effectively.
+
+ For complex additions, consider creating a [Backstage Enhancement Proposal](https://github.com/backstage/backstage/blob/master/beps/README.md) (BEP) instead, as this process streamlines discussions and iteration. Don't worry - you can always convert this issue to a BEP later.
+ # This field is managed by .common.yaml
+ - id: issue-labels
+ type: checkboxes
+ attributes:
+ label: '๐ Issue Labels'
+ options:
+ - label: 'Please familiarize yourself with the issue labels used in this project: [LABELS.md](https://github.com/backstage/backstage/blob/master/LABELS.md)'
+ required: true
+ # This field is managed by .common.yaml
+ - id: search-terms
+ type: textarea
+ attributes:
+ label: '๐ Search Terms'
+ render: plain
+ description: |
+ What search terms did you use when trying to find similar issues?
+ placeholder: |
+ List of keywords you searched for before creating this issue. Write them down here so that others can find this issue more easily and help provide feedback.
+
+ e.g. "catalog github rate limited", "http root service configurer", "scaffolder template include", "entity card title"
+ validations:
+ required: true
+ # This field is managed by .common.yaml
+ - id: project-area
+ type: dropdown
+ attributes:
+ label: '๐๏ธ Project Area'
+ description: Which project area is this issue most closely related to? This will help find an owner for the issue faster.
+ options:
+ - Unknown
+ - Auditor
+ - Auth
+ - Catalog
+ - CLI Tooling
+ - Core Framework
+ - Design System
+ - Documentation
+ - Events System
+ - Home
+ - Kubernetes Plugin
+ - Notifications
+ - OpenAPI Tooling
+ - Permission Framework
+ - Search
+ - Software Templates
+ - TechDocs
+ validations:
+ required: true
+ - type: textarea
+ id: need
+ validations:
+ required: true
+ attributes:
+ label: '๐ Need'
+ description: What is the rationale for this change, and who will benefit from it?
+ placeholder: |
+ Explain why this change is important and who will benefit from it. Provide context for the change, such as highlighting relevant past work in this area or specific use cases.
+ - type: textarea
+ id: proposal
+ validations:
+ required: true
+ attributes:
+ label: '๐ Proposal'
+ description: Describe the change that you are suggesting.
+ placeholder: |
+ Provide sufficient detail for reviewers to give concrete feedback.
+
+ Including a proposed implementation is optional, but if you do, consider adding design details such as TypeScript examples, database schema, or sequence diagrams.
+
+ If the change requires particular care when being rolled out, it can be helpful to include a plan for a phased release.
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: '๐ Alternatives'
+ description: Did you consider any other approaches?
+ placeholder: |
+ Did you consider any other approaches, and if so, why did you rule them out?
+
+ These do not need to be as detailed as the main proposal, but should include enough information to understand the idea and why it wasn't suitable.
+ # This field is managed by .common.yaml
+ - id: read-code-of-conduct
+ type: checkboxes
+ attributes:
+ label: 'Have you read the Code of Conduct?'
+ options:
+ - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
+ required: true
+ # This field is managed by .common.yaml
+ - id: willing-to-submit-pr
+ type: dropdown
+ attributes:
+ label: Are you willing to submit a PR?
+ description: This is absolutely not required, but we are happy to guide you in the contribution process.
+ options:
+ - Undecided
+ - Yes, and I have enough information to get started
+ - Yes, but I would like some more guidance
+ - No, but I'm happy to collaborate on a PR with someone else
+ - No, I don't have time to work on this right now
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/04_maintenance.yaml b/.github/ISSUE_TEMPLATE/04_maintenance.yaml
new file mode 100644
index 0000000000..742db7ee0f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/04_maintenance.yaml
@@ -0,0 +1,100 @@
+name: '๐ง Track a maintenance task'
+description: 'Track a maintenance task'
+labels:
+ - type:maintenance
+ - status:needs-triage
+body:
+ - type: markdown
+ attributes:
+ value: |
+ This template helps you track maintenance tasks that require special consideration, such as complex version updates or migrations.
+ # This field is managed by .common.yaml
+ - id: issue-labels
+ type: checkboxes
+ attributes:
+ label: '๐ Issue Labels'
+ options:
+ - label: 'Please familiarize yourself with the issue labels used in this project: [LABELS.md](https://github.com/backstage/backstage/blob/master/LABELS.md)'
+ required: true
+ # This field is managed by .common.yaml
+ - id: search-terms
+ type: textarea
+ attributes:
+ label: '๐ Search Terms'
+ render: plain
+ description: |
+ What search terms did you use when trying to find similar issues?
+ placeholder: |
+ List of keywords you searched for before creating this issue. Write them down here so that others can find this issue more easily and help provide feedback.
+
+ e.g. "catalog github rate limited", "http root service configurer", "scaffolder template include", "entity card title"
+ validations:
+ required: true
+ # This field is managed by .common.yaml
+ - id: project-area
+ type: dropdown
+ attributes:
+ label: '๐๏ธ Project Area'
+ description: Which project area is this issue most closely related to? This will help find an owner for the issue faster.
+ options:
+ - Unknown
+ - Auditor
+ - Auth
+ - Catalog
+ - CLI Tooling
+ - Core Framework
+ - Design System
+ - Documentation
+ - Events System
+ - Home
+ - Kubernetes Plugin
+ - Notifications
+ - OpenAPI Tooling
+ - Permission Framework
+ - Search
+ - Software Templates
+ - TechDocs
+ validations:
+ required: true
+ - type: textarea
+ id: task
+ validations:
+ required: true
+ attributes:
+ label: '๐ ๏ธ Task'
+ description: Describe the task that requires attention
+ placeholder: |
+ Explain what needs to be accomplished, including any relevant context such as dependencies or related components.
+ - type: textarea
+ id: proposal
+ validations:
+ required: true
+ attributes:
+ label: '๐ Priority & Impact'
+ description: Explain the urgency and impact of this task
+ placeholder: |
+ Explain what level of prioritization this task should receive. Are there any particular benefits provided in newer versions in case of a version update, or any security vulnerabilities that can be addressed?
+
+ Also list any important dates or deadlines, such as current versions reaching end of life, or release dates for stable releases.
+ # This field is managed by .common.yaml
+ - id: read-code-of-conduct
+ type: checkboxes
+ attributes:
+ label: 'Have you read the Code of Conduct?'
+ options:
+ - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
+ required: true
+ # This field is managed by .common.yaml
+ - id: willing-to-submit-pr
+ type: dropdown
+ attributes:
+ label: Are you willing to submit a PR?
+ description: This is absolutely not required, but we are happy to guide you in the contribution process.
+ options:
+ - Undecided
+ - Yes, and I have enough information to get started
+ - Yes, but I would like some more guidance
+ - No, but I'm happy to collaborate on a PR with someone else
+ - No, I don't have time to work on this right now
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/05_other.yaml b/.github/ISSUE_TEMPLATE/05_other.yaml
new file mode 100644
index 0000000000..4ad802b341
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/05_other.yaml
@@ -0,0 +1,22 @@
+name: 'โ Other'
+description: 'Something not captured by any other template'
+body:
+ - type: markdown
+ attributes:
+ value: |
+ This template can be used to create issues that don't fit any of the other templates. Valid examples include meta issues or other task tracking issues to help coordinate work, or informative issues that are kept for search purposes.
+
+ Do not use this template to submit support or help requests, as they will be closed. Please use other forums such as our [Community Discord](https://discord.gg/backstage-687207715902193673) instead.
+ - type: checkboxes
+ id: acknowledgement
+ attributes:
+ label: '๐ Acknowledgement'
+ options:
+ - label: I acknowledge that issues using this template may be closed without further explanation.
+ required: true
+ - type: textarea
+ id: contents
+ attributes:
+ label: Content
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml
deleted file mode 100644
index 57595621e4..0000000000
--- a/.github/ISSUE_TEMPLATE/bug.yaml
+++ /dev/null
@@ -1,84 +0,0 @@
-name: '๐ Bug Report'
-description: 'Submit a bug report to help us improve'
-title: '๐ Bug Report: