From e7e40ca018d05a1a9a226fb76f5cab66c62224bd Mon Sep 17 00:00:00 2001 From: Aimee Ukasick Date: Wed, 1 Oct 2025 09:49:12 -0500 Subject: [PATCH 1/4] Add issue forms and issue labeler workflow --- .github/ISSUE_TEMPLATE/bug-report.yml | 46 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 9 +++++ .github/ISSUE_TEMPLATE/feature-request.yml | 38 ++++++++++++++++++ .github/advanced-issue-labeler.yml | 32 +++++++++++++++ .github/workflows/label-issues.yml | 41 +++++++++++++++++++ 5 files changed, 166 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature-request.yml create mode 100644 .github/advanced-issue-labeler.yml create mode 100644 .github/workflows/label-issues.yml diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 0000000000..6d04d6c069 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,46 @@ +name: Bug Report +description: |- + Create an issue for incorrect content or content that should be there but is not. +title: "[Content Bug]: " +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this documentation bug report! + - type: dropdown + id: product + attributes: + label: Product + description: What documentation is this for? + options: + - Boundary + - Consul + - HCP + - Nomad + - Packer + - Sentinel + - Terraform + - Vagrant + - Vault + - Well-Architected Framework + default: 0 + validations: + required: true + - type: textarea + id: which-page + attributes: + label: Which page? + description: The page URL + placeholder: https://developer.hashicorp.com/ + value: "https://developer.hashicorp.com/..." + validations: + required: true + - type: textarea + id: what-happened + attributes: + label: What is the issue? + description: Describe the issue - what content is incorrect? + placeholder: Tell us what you see! + value: "Something is not quite right with the content... + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..d946cfa4ef --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,9 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: BUSL-1.1 + +blank_issues_enabled: false +contact_links: + - name: Nomad docs issue + url: https://github.com/hashicorp/nomad/issues + about: Create a Nomad docs issue in the Nomad repository. + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 0000000000..f800aa0351 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,38 @@ +name: Documentation Request +description: Request new or updated documentation. +title: "[Content Request]: " +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this documentation feature request! + - type: dropdown + id: product + attributes: + label: Product + description: What documentation is this for? + options: + - Boundary + - Consul + - HCP + - Nomad + - Packer + - Sentinel + - Terraform + - Vagrant + - Vault + - Well-Architected Framework + default: 6 + validations: + required: true + - type: textarea + id: what + attributes: + label: |- + What would you like us to document? Be specific and provide as much detail as possible. + description: + placeholder: Please document how to... + value: "Please document how to..." + validations: + required: true + diff --git a/.github/advanced-issue-labeler.yml b/.github/advanced-issue-labeler.yml new file mode 100644 index 0000000000..1b4600d060 --- /dev/null +++ b/.github/advanced-issue-labeler.yml @@ -0,0 +1,32 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: BUSL-1.1 + +# Add a label to an issue based on the selected value of the Product drop down +# in the issue form. "name" is the label, and "keys" is the value in the +# bug-report and feature-request issue forms in the ISSUE_TEMPLATE directory. + + +policy: + - template: [ bug-report.yml, feature-request.yml] + section: + - id: [product] + label: + - name: 'Boundary' + keys: ['Boundary'] + - name: 'Consul' + keys: ['Consul'] + - name: 'HCP' + keys: ['HCP'] + - name: 'Nomad' + keys: ['Nomad'] + - name: 'Packer' + keys: ['Packer'] + - name: 'Sentinel' + keys: ['Sentinel'] + - name: 'Terraform CE' + keys: ['Terraform'] + - name: 'Vault' + keys: ['Vault'] + - name: 'WAF' + keys: ['Well-Architected Framework'] + diff --git a/.github/workflows/label-issues.yml b/.github/workflows/label-issues.yml new file mode 100644 index 0000000000..82687bdb2a --- /dev/null +++ b/.github/workflows/label-issues.yml @@ -0,0 +1,41 @@ +# Apply a product label based on the product selected in the issue template's +# product list. +# +# https://github.com/marketplace/actions/advanced-issue-labeler +# https://github.com/redhat-plumbers-in-action/advanced-issue-labeler +# https://github.com/redhat-plumbers-in-action/issue-forms-automation/blob/main/.github/workflows/issue-labeler.yml + +# Inspired by: https://github.com/stefanbuck/ristorante +# See: https://stefanbuck.com/blog/codeless-contributions-with-github-issue-forms + +name: Issue labeler +on: + issues: + types: [ opened, edited ] + +jobs: + label-issues-policy: + runs-on: ubuntu-latest + permissions: + issues: write + + strategy: + matrix: + template: [ bug-report.yml, feature-request.yml ] + + steps: + - uses: actions/checkout@v3 + + - name: Parse issue form + uses: stefanbuck/github-issue-parser@v3 + id: issue-parser + with: + template-path: .github/ISSUE_TEMPLATE/${{ matrix.template }} + + - name: Set labels based on policy + uses: redhat-plumbers-in-action/advanced-issue-labeler@main + with: + issue-form: ${{ steps.issue-parser.outputs.jsonString }} + template: ${{ matrix.template }} + token: ${{ secrets.GITHUB_TOKEN }} + From 2ee07ba321fcfac80cc3529215d7cb2352eb9644 Mon Sep 17 00:00:00 2001 From: Aimee Ukasick Date: Wed, 1 Oct 2025 10:49:29 -0500 Subject: [PATCH 2/4] fix yaml issue --- .github/ISSUE_TEMPLATE/bug-report.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 6d04d6c069..8ad4e3e211 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -41,6 +41,6 @@ body: label: What is the issue? description: Describe the issue - what content is incorrect? placeholder: Tell us what you see! - value: "Something is not quite right with the content... + value: "Something is not quite right with the content..." validations: required: true From 0db2ff9c9f390eb45f7ad24c91f77bc4fdc363f9 Mon Sep 17 00:00:00 2001 From: Aimee Ukasick Date: Wed, 1 Oct 2025 10:59:22 -0500 Subject: [PATCH 3/4] add Vagrant --- .github/advanced-issue-labeler.yml | 48 +++++++++++++++--------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/advanced-issue-labeler.yml b/.github/advanced-issue-labeler.yml index 1b4600d060..3b3e888a1a 100644 --- a/.github/advanced-issue-labeler.yml +++ b/.github/advanced-issue-labeler.yml @@ -4,29 +4,29 @@ # Add a label to an issue based on the selected value of the Product drop down # in the issue form. "name" is the label, and "keys" is the value in the # bug-report and feature-request issue forms in the ISSUE_TEMPLATE directory. - policy: - - template: [ bug-report.yml, feature-request.yml] - section: - - id: [product] - label: - - name: 'Boundary' - keys: ['Boundary'] - - name: 'Consul' - keys: ['Consul'] - - name: 'HCP' - keys: ['HCP'] - - name: 'Nomad' - keys: ['Nomad'] - - name: 'Packer' - keys: ['Packer'] - - name: 'Sentinel' - keys: ['Sentinel'] - - name: 'Terraform CE' - keys: ['Terraform'] - - name: 'Vault' - keys: ['Vault'] - - name: 'WAF' - keys: ['Well-Architected Framework'] - +- template: [ bug-report.yml, feature-request.yml ] + section: + - id: [ product ] + label: + - name: 'Boundary' + keys: [ 'Boundary' ] + - name: 'Consul' + keys: [ 'Consul' ] + - name: 'HCP' + keys: [ 'HCP' ] + - name: 'Nomad' + keys: [ 'Nomad' ] + - name: 'Packer' + keys: [ 'Packer' ] + - name: 'Sentinel' + keys: [ 'Sentinel' ] + - name: 'Terraform CE' + keys: [ 'Terraform' ] + - name: 'Vagrant' + keys: [ 'Vagrant' ] + - name: 'Vault' + keys: [ 'Vault' ] + - name: 'WAF' + keys: [ 'Well-Architected Framework' ] From 7e680e666dacd47a15b4d3cb282c9453db78f7c6 Mon Sep 17 00:00:00 2001 From: Aimee Ukasick Date: Wed, 1 Oct 2025 15:35:54 -0500 Subject: [PATCH 4/4] Add Other product, No product to product select list --- .github/ISSUE_TEMPLATE/bug-report.yml | 4 +++- .github/ISSUE_TEMPLATE/feature-request.yml | 2 ++ .github/advanced-issue-labeler.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 8ad4e3e211..7e197f37bc 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -23,10 +23,12 @@ body: - Vagrant - Vault - Well-Architected Framework + - Other product + - No product default: 0 validations: required: true - - type: textarea + - type: input id: which-page attributes: label: Which page? diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml index f800aa0351..3f8728c7ee 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -22,6 +22,8 @@ body: - Vagrant - Vault - Well-Architected Framework + - Other product + - No product default: 6 validations: required: true diff --git a/.github/advanced-issue-labeler.yml b/.github/advanced-issue-labeler.yml index 3b3e888a1a..6f80248a1d 100644 --- a/.github/advanced-issue-labeler.yml +++ b/.github/advanced-issue-labeler.yml @@ -30,3 +30,5 @@ policy: keys: [ 'Vault' ] - name: 'WAF' keys: [ 'Well-Architected Framework' ] + - name: 'Triage' + keys: ['No product', 'Other product'] \ No newline at end of file