Merge pull request #29677 from backstage/rugvip/issue-revamp

Issue management overhaul
This commit is contained in:
Patrik Oldsberg
2025-04-24 15:34:08 +02:00
committed by GitHub
18 changed files with 838 additions and 247 deletions
+92
View File
@@ -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
+161
View File
@@ -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: '<br/>' # 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: '<br/>' # 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
@@ -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
+113
View File
@@ -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
+100
View File
@@ -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
+22
View File
@@ -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
-84
View File
@@ -1,84 +0,0 @@
name: '🐛 Bug Report'
description: 'Submit a bug report to help us improve'
title: '🐛 Bug Report: <title>'
labels:
- bug
body:
- type: markdown
attributes:
value: We value your time and effort to submit this bug report. 🙏
- type: textarea
id: description
validations:
required: true
attributes:
label: '📜 Description'
description: 'A clear and concise description of what the bug is.'
placeholder: 'It bugs out when ...'
- type: textarea
id: expected-behavior
validations:
required: true
attributes:
label: '👍 Expected behavior'
description: 'What did you think should happen?'
placeholder: 'It should ...'
- type: textarea
id: actual-behavior
validations:
required: true
attributes:
label: '👎 Actual Behavior with Screenshots'
description: 'What did actually happen? Add screenshots, if applicable.'
placeholder: 'It actually ...'
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: '👟 Reproduction steps'
description: 'How do you trigger this bug? Please walk us through it step by step.'
placeholder:
"Provide a link to a live example, or an unambiguous set of steps to reproduce this bug. Include code or configuration to reproduce, if relevant.\n
1. Go to '...'\n
2. Click on '....'\n
3. Scroll down to '....'"
- type: textarea
id: context
validations:
required: false
attributes:
label: '📃 Provide the context for the Bug.'
description: 'How has this issue affected you? What are you trying to accomplish?'
placeholder: 'Providing context (e.g. links to configuration settings, stack trace or log data) helps us come up with a solution that is most useful in the real world.'
- type: textarea
id: environment
validations:
required: false
attributes:
label: '🖥️ Your Environment'
description: 'Provide Browser Information
Provide Output of `yarn backstage-cli info`'
placeholder: 'Include as many relevant details about the environment you experienced the bug in.'
- type: checkboxes
id: no-duplicate-issues
attributes:
label: '👀 Have you spent some time to check if this bug has been raised before?'
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
id: read-code-of-conduct
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:
- Yes I am willing to submit a PR!
- 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
-54
View File
@@ -1,54 +0,0 @@
name: 🚀 Feature
description: 'Submit a proposal for a new feature'
title: '🚀 Feature: <title>'
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
We value your time and efforts to submit this Feature request form. 🙏
- type: textarea
id: feature-description
validations:
required: true
attributes:
label: '🔖 Feature description'
description: 'A clear and concise description of what the feature is.'
placeholder: 'You should add ...'
- type: textarea
id: context
validations:
required: true
attributes:
label: '🎤 Context'
description: 'Please explain why this feature should be implemented and how it would be used. Add examples, if applicable.'
placeholder: 'In my use-case, ...'
- type: textarea
id: implementation
attributes:
label: '✌️ Possible Implementation'
description: 'A clear and concise description of what you want to happen.'
placeholder: 'Not obligatory, but ideas as to the implementation of the addition or change'
- type: checkboxes
id: no-duplicate-issues
attributes:
label: '👀 Have you spent some time to check if this feature request has been raised before?'
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
id: read-code-of-conduct
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
id: willing-to-submit-pr
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:
- Yes I am willing to submit a PR!
- 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
-51
View File
@@ -1,51 +0,0 @@
name: 💬 RFC
description: 'Request For Comments (RFC) from the community'
title: '💬 RFC: <title>'
labels: [rfc]
body:
- type: markdown
attributes:
value: |
We value your time and efforts to submit this RFC form. 🙏
- type: textarea
id: rfc-need
validations:
required: true
attributes:
label: '🔖 Need'
description: 'Let us know why are you proposing this change'
placeholder: 'The problem were trying to address and the benefits/impact we expect to get from this are ...'
- type: textarea
id: proposal
validations:
required: true
attributes:
label: '🎉 Proposal'
description: 'Describe the proposal in as much detail as needed for reviewers to give concrete feedback.'
placeholder: 'Take special care in this section to describe any implications on data privacy or security.'
- type: textarea
id: alternatives
attributes:
label: '〽️ Alternatives'
description: 'What alternatives to the proposed solution were considered?'
placeholder: 'What criteria/data was used to discard these?'
- type: textarea
id: risk
attributes:
label: '❌ Risks'
description: 'What other things happening could conflict or compete (for example for resources) with the proposal?'
placeholder: 'What risk are there and how do we plan to handle them?'
- type: checkboxes
id: no-duplicate-issues
attributes:
label: '👀 Have you spent some time to check if this RFC has been raised before?'
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
id: read-code-of-conduct
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
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env node
const fs = require('node:fs');
const path = require('node:path');
const yaml = require('yaml');
const TEMPLATES_DIR = path.join(__dirname);
const COMMON_FILE = path.join(TEMPLATES_DIR, '.common.yaml');
// Read the common fields from .common.yaml
const commonDoc = yaml.parseDocument(fs.readFileSync(COMMON_FILE, 'utf8'));
const commonFields = new Map(
commonDoc.get('body').items.map(field => {
field.commentBefore = ' This field is managed by .common.yaml';
return [field.get('id'), field];
}),
);
// Get all YAML files in the templates directory except .common.yaml
const templateFiles = fs
.readdirSync(TEMPLATES_DIR)
.filter(file => file.endsWith('.yaml') && file !== '.common.yaml');
// Process each template file
for (const templateFile of templateFiles) {
const templatePath = path.join(TEMPLATES_DIR, templateFile);
const templateDoc = yaml.parseDocument(fs.readFileSync(templatePath, 'utf8'));
if (templateDoc.get('body')) {
const body = templateDoc.get('body');
for (let i = 0; i < body.items.length; i++) {
const field = body.items[i];
const commonField = commonFields.get(field.get('id'));
if (commonField) {
body.items[i] = commonField;
}
}
// Write the updated template back to file with matching style
fs.writeFileSync(
templatePath,
templateDoc.toString({
indent: 2,
lineWidth: 0,
minContentWidth: 0,
singleQuote: true,
}),
);
console.log(`Updated ${templateFile}`);
}
}
console.log('Sync complete!');
-53
View File
@@ -1,53 +0,0 @@
name: 🦄 UX Component
description: 'For designers to request UX components to be added to the Backstage Storybook'
title: '🦄 UX Component: <title>'
labels: [design]
body:
- type: markdown
attributes:
value: |
We value your time and efforts to submit this RFC form. 🙏
- type: textarea
id: ux-general
validations:
required: true
attributes:
label: '🔖 General'
description: 'Write a nice note to the community requesting the creation of a new component.'
placeholder: 'Include an image of your component. Bonus points for a GIF!'
- type: textarea
id: usage
validations:
required: true
attributes:
label: '💻 Usage'
description: "Tell us what's the point of this component/pattern is."
placeholder: 'How does it help? How should it work? Any rules?'
- type: textarea
id: specs
validations:
required: true
attributes:
label: '📐 Specs'
description: 'Include images that detail the redlines for your component.'
placeholder: "Once we get our Figma workspace set up, we'll be posting the Figma files rather than doing specs by hand."
- type: textarea
id: future
attributes:
label: '🔮 Future'
description: 'List out any upcoming, exciting functionality for this component.'
placeholder: 'The component will have ...'
- type: checkboxes
id: no-duplicate-issues
attributes:
label: '👀 Have you spent some time to check if this UX Component request has been raised before?'
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
id: read-code-of-conduct
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
+56
View File
@@ -0,0 +1,56 @@
policy:
- section:
- id: ['project-area']
block-list: []
label:
- name: 'area:auditor'
keys: ['Auditor']
- name: 'area:auth'
keys: ['Auth']
- name: 'area:catalog'
keys: ['Catalog']
- name: 'area:core'
keys: ['Core Framework', 'CLI Tooling']
- name: 'area:design-system'
keys: ['Design System']
- name: 'area:documentation'
keys: ['Documentation']
- name: 'area:events'
keys: ['Events System']
- name: 'area:home'
keys: ['Home']
- name: 'area:kubernetes'
keys: ['Kubernetes Plugin']
- name: 'area:notifications'
keys: ['Notifications']
- name: 'area:openapi-tooling'
keys: ['OpenAPI Tooling']
- name: 'area:permission'
keys: ['Permission Framework']
- name: 'area:search'
keys: ['Search']
- name: 'area:scaffolder'
keys: ['Software Templates']
- name: 'area:techdocs'
keys: ['TechDocs']
- id: ['integration']
block-list: []
label:
- name: 'integration:aws'
keys: ['AWS']
- name: 'integration:azure'
keys: ['Azure', 'Azure DevOps']
- name: 'integration:bitbucket-cloud'
keys: ['Bitbucket Cloud']
- name: 'integration:bitbucket-server'
keys: ['Bitbucket Server']
- name: 'integration:gcp'
keys: ['GCP']
- name: 'integration:gerrit'
keys: ['Gerrit']
- name: 'integration:gitea'
keys: ['Gitea']
- name: 'integration:github'
keys: ['GitHub']
- name: 'integration:gitlab'
keys: ['GitLab']
-2
View File
@@ -10,5 +10,3 @@ area:scaffolder:
- '/scaffolder/i'
area:permission:
- '/permission/i'
bep:
- '/\bbep\b/i'
+2 -2
View File
@@ -28,7 +28,7 @@ jobs:
for your contributions.
days-before-issue-stale: 60
days-before-issue-close: 7
exempt-issue-labels: plugin,after-vacations,will-fix,bep
exempt-issue-labels: after vacations,no stale
stale-issue-label: stale
stale-pr-message: >
This PR has been automatically marked as stale because it has not had
@@ -37,6 +37,6 @@ jobs:
and we'll re-open the PR so that you can continue the contribution!
days-before-pr-stale: 14
days-before-pr-close: 7
exempt-pr-labels: after-vacations,will-fix
exempt-pr-labels: after vacations,no stale
stale-pr-label: stale
operations-per-run: 100
+18
View File
@@ -20,6 +20,12 @@ jobs:
with:
egress-policy: audit
# We need to checkout the `.github/ISSUE_TEMPLATE` for the advanced labeler action to be able to read the templates
# While at it we might as well checkout all of `.github` so that the labeling actions don't need to fetch their configs
- uses: actions/checkout@v4
with:
sparse-checkout: .github
- name: Add issue labels
uses: github/issue-labeler@c1b0f9f52a63158c4adc09425e858e87b32e9685 # v3.4
with:
@@ -29,3 +35,15 @@ jobs:
enable-versioned-regex: 0
not-before: 2024-04-19T15:03:51Z
repo-token: '${{ secrets.GITHUB_TOKEN }}'
# These two steps add labels based on user input in the issue form
- name: Parse issue form
uses: stefanbuck/github-issue-parser@v3
id: issue-parser
with:
template-path: .github/ISSUE_TEMPLATE/.common.yaml
- name: Add advanced issue labels
uses: redhat-plumbers-in-action/advanced-issue-labeler@v2
with:
issue-form: ${{ steps.issue-parser.outputs.jsonString }}
token: ${{ secrets.GITHUB_TOKEN }}