From a849af7ac8d2757a5d53a434d701015a0b3454e8 Mon Sep 17 00:00:00 2001 From: Brandon Morelli Date: Tue, 31 Oct 2023 12:12:53 -0700 Subject: [PATCH] New issue templates and automation (#3321) * new issue templates and automation * update labels * Update elastic-request.yaml --- .github/ISSUE_TEMPLATE/8.10-request.yaml | 45 --------- .github/ISSUE_TEMPLATE/8.11-request.yaml | 45 --------- ...ty-request.yaml => community-request.yaml} | 7 +- .github/ISSUE_TEMPLATE/elastic-request.yaml | 95 +++++++++++++++++++ .github/ISSUE_TEMPLATE/other-request.yaml | 45 --------- .github/advanced-issue-labeler.yml | 44 +++++++++ .github/workflows/add-issue-to-project.yml | 2 +- .github/workflows/issue-labeler.yml | 32 +++++++ 8 files changed, 176 insertions(+), 139 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/8.10-request.yaml delete mode 100644 .github/ISSUE_TEMPLATE/8.11-request.yaml rename .github/ISSUE_TEMPLATE/{0-community-request.yaml => community-request.yaml} (69%) create mode 100644 .github/ISSUE_TEMPLATE/elastic-request.yaml delete mode 100644 .github/ISSUE_TEMPLATE/other-request.yaml create mode 100644 .github/advanced-issue-labeler.yml create mode 100644 .github/workflows/issue-labeler.yml diff --git a/.github/ISSUE_TEMPLATE/8.10-request.yaml b/.github/ISSUE_TEMPLATE/8.10-request.yaml deleted file mode 100644 index 733304514d..0000000000 --- a/.github/ISSUE_TEMPLATE/8.10-request.yaml +++ /dev/null @@ -1,45 +0,0 @@ -name: "[Internal] 8.10 Documentation request" -description: Request a documentation change or enhancement for the 8.10 release (Elastic employees). -title: "[REQUEST]: " -labels: ["8.10-request", "Team:Docs"] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this request! This form will create an issue that the obs-docs team will triage and prioritize. Filling out this form does not guarantee that your issue will be prioritized for the selected iteration but completing this issue as early and as comprehensively as possible will help us understand and plan the work better! - - type: textarea - id: description - attributes: - label: Description - description: Describe what needs to be documented. - placeholder: I need... - validations: - required: true - - type: textarea - id: related - attributes: - label: Resources - description: Please link to as many related resources as possible. Think about issues, PRs, demos, Slack threads, existing or related docs pages, etc. - placeholder: How can the docs team learn more about this feature? - validations: - required: true - - type: dropdown - id: collaboration - attributes: - label: Collaboration - description: Choose the expected collaboration model - options: - - "The documentation team will investigate the issue and create the initial content." - - "The product team will provide the initial content." - - "TBD. The docs and product team will work together to determine the best path forward." - - "Other (please describe below in the Point of contact section)." - validations: - required: true - - type: textarea - id: contact - attributes: - label: Point of contact. - description: Please assign at least one point of contact using the GitHub `@` mention. Add as many stakeholders as you'd like. - value: "**Main contact:** @\n\n**Stakeholders:**\n" - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/8.11-request.yaml b/.github/ISSUE_TEMPLATE/8.11-request.yaml deleted file mode 100644 index fde6538f19..0000000000 --- a/.github/ISSUE_TEMPLATE/8.11-request.yaml +++ /dev/null @@ -1,45 +0,0 @@ -name: "[Internal] 8.11 Documentation request" -description: Request a documentation change or enhancement for the 8.11 release (Elastic employees). -title: "[REQUEST]: " -labels: ["8.11-request", "Team:Docs"] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this request! This form will create an issue that the obs-docs team will triage and prioritize. Filling out this form does not guarantee that your issue will be prioritized for the selected iteration but completing this issue as early and as comprehensively as possible will help us understand and plan the work better! - - type: textarea - id: description - attributes: - label: Description - description: Describe what needs to be documented. - placeholder: I need... - validations: - required: true - - type: textarea - id: related - attributes: - label: Resources - description: Please link to as many related resources as possible. Think about issues, PRs, demos, Slack threads, existing or related docs pages, etc. - placeholder: How can the docs team learn more about this feature? - validations: - required: true - - type: dropdown - id: collaboration - attributes: - label: Collaboration - description: Choose the expected collaboration model - options: - - "The documentation team will investigate the issue and create the initial content." - - "The product team will provide the initial content." - - "TBD. The docs and product team will work together to determine the best path forward." - - "Other (please describe below in the Point of contact section)." - validations: - required: true - - type: textarea - id: contact - attributes: - label: Point of contact. - description: Please assign at least one point of contact using the GitHub `@` mention. Add as many stakeholders as you'd like. - value: "**Main contact:** @\n\n**Stakeholders:**\n" - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/0-community-request.yaml b/.github/ISSUE_TEMPLATE/community-request.yaml similarity index 69% rename from .github/ISSUE_TEMPLATE/0-community-request.yaml rename to .github/ISSUE_TEMPLATE/community-request.yaml index 60ec1c43a7..0c104c4310 100644 --- a/.github/ISSUE_TEMPLATE/0-community-request.yaml +++ b/.github/ISSUE_TEMPLATE/community-request.yaml @@ -1,4 +1,4 @@ -name: "[Community] Documentation request" +name: "Community documentation request" description: Request a documentation change or enhancement. title: "[REQUEST]: " labels: ["request", "Team:Docs", "💝 community"] @@ -6,8 +6,9 @@ body: - type: markdown attributes: value: | - Thanks for taking the time to fill out this request! This form will create an issue that the obs-docs team will triage and prioritize. - Want to submit a PR instead? Most of our public documentation has an "edit" icon—just give it a click to quickly find any source file. + Hi 👋. Thanks for taking the time to fill out this request! + This form will create an issue that Elastic's Observability docs team will triage and prioritize. + Want to open a PR instead? Most of our public documentation has an "edit" icon—just give it a click to quickly find any source file. - type: textarea id: link attributes: diff --git a/.github/ISSUE_TEMPLATE/elastic-request.yaml b/.github/ISSUE_TEMPLATE/elastic-request.yaml new file mode 100644 index 0000000000..d01aa8a148 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/elastic-request.yaml @@ -0,0 +1,95 @@ +name: "Internal documentation request (Elastic employees)" +description: Request a documentation change or enhancement. +title: "[REQUEST]: " +labels: ["Team:Docs"] +body: + - type: markdown + attributes: + value: | + Hi 👋. This form will create an issue that the [@elastic/obs-docs](https://github.com/orgs/elastic/teams/obs-docs) team will triage and prioritize. Please do not add any labels to your issue—that will happen automagically. + - type: textarea + id: description + attributes: + label: Description + description: Describe what needs to be documented. What details do users need to know about? + placeholder: | + What: We're introducing new feature A. + When: This feature will launch at the completion of project B. + Why: This feature will make X, Y, and Z easier for the user. + validations: + required: true + - type: textarea + id: related + attributes: + label: Resources + description: Where can the documentation team learn more about this feature? + placeholder: | + This feature was implemented in {link_to_PR}. + + This feature was scoped and researched in {link_to_issue}. + validations: + required: true + - type: dropdown + id: doc-set + attributes: + label: Which documentation set does this change impact? + description: Stateful, Serverless, or both? + options: + - Stateful and Serverless + - Stateful only + - Serverless only + - Integrations + - Unknown + default: 0 + validations: + required: true + - type: textarea + id: doc-set-differences + attributes: + label: Feature differences + description: If you selected both Stateful and Serverless above, please describe how, if at all, the feature differs in each deployment method. + placeholder: The feature is identical in Stateful and Serverless. + validations: + required: true + - type: dropdown + id: version + attributes: + label: What release is this request related to? + description: Some requests may be tied to the Elastic Stack release schedule. Some, like Serverless requests, may not. Please select an option. + options: + - 'N/A' + - '8.11' + - '8.12' + - '8.13' + - '8.14' + - '8.15' + - '8.16' + default: 0 + validations: + required: true + - type: dropdown + id: collaboration + attributes: + label: Collaboration model + description: Which team do you expect to create the initial content? + options: + - "The documentation team" + - "The product team" + - "The engineering team" + - "Unknown" + - "Other (please describe below)" + default: 0 + validations: + required: true + - type: textarea + id: contact + attributes: + label: Point of contact. + description: Please assign at least one point of contact using the GitHub `@` mention. Add as many stakeholders as you'd like. + value: "**Main contact:** @\n\n**Stakeholders:**\n" + validations: + required: true + - type: markdown + attributes: + value: | + Thanks for filling out this form. Note that this form does not guarantee that your issue will be prioritized for the selected iteration. _But_, completing this issue as early and as comprehensively as possible will help us understand and plan the work better! diff --git a/.github/ISSUE_TEMPLATE/other-request.yaml b/.github/ISSUE_TEMPLATE/other-request.yaml deleted file mode 100644 index 7ec85139f5..0000000000 --- a/.github/ISSUE_TEMPLATE/other-request.yaml +++ /dev/null @@ -1,45 +0,0 @@ -name: "[Internal] General documentation request" -description: Request a documentation change or enhancement for any supported release (Elastic employees). -title: "[REQUEST]: " -labels: ["request", "Team:Docs"] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this request! This form will create an issue that the obs-docs team will triage and prioritize. - - type: textarea - id: description - attributes: - label: Description - description: Describe what needs to be documented. - placeholder: I need... - validations: - required: true - - type: textarea - id: related - attributes: - label: Resources - description: Please link to as many related resources as possible. Think about issues, PRs, demos, Slack threads, existing or related docs pages, etc. - placeholder: How can the docs team learn more about this feature? - validations: - required: true - - type: dropdown - id: collaboration - attributes: - label: Collaboration - description: Choose the expected collaboration model - options: - - "The documentation team will investigate the issue and create the initial content." - - "The product team will provide the initial content." - - "TBD. The docs and product team will work together to determine the best path forward." - - "Other (please describe below in the Point of contact section)." - validations: - required: true - - type: textarea - id: contact - attributes: - label: Point of contact. - description: Please assign at least one point of contact using the GitHub `@` mention. Add as many stakeholders as you'd like. - value: "**Main contact:** @\n\n**Stakeholders:**\n" - validations: - required: true \ No newline at end of file diff --git a/.github/advanced-issue-labeler.yml b/.github/advanced-issue-labeler.yml new file mode 100644 index 0000000000..ab71bd766d --- /dev/null +++ b/.github/advanced-issue-labeler.yml @@ -0,0 +1,44 @@ +policy: + - template: ['elastic-request.yaml'] + section: + - id: ['version'] + block-list: [] + label: + - name: 'Request' + keys: ['N/A'] + - name: 'Request:8.11' + keys: ['8.11'] + - name: 'Request:8.12' + keys: ['8.12'] + - name: 'Request:8.13' + keys: ['8.13'] + - name: 'Request:8.14' + keys: ['8.14'] + - name: 'Request:8.15' + keys: ['8.15'] + - name: 'Request:8.16' + keys: ['8.16'] + - id: [doc-set] + block-list: [] + label: + - name: 'Docset:All' + keys: ['Stateful and Serverless'] + - name: 'Docset:Serverless' + keys: ['Serverless only'] + - name: 'Docset:Stateful' + keys: ['Stateful only'] + - name: 'Docset:Integrations' + keys: ['Integrations'] + - name: 'Docset:Unknown' + keys: ['Unknown'] + - id: [collaboration] + block-list: [] + label: + - name: 'Lead:Writer' + keys: ['The documentation team'] + - name: 'Lead:Product' + keys: ['The product team'] + - name: 'Lead:Eng' + keys: ['The engineering team'] + - name: 'Lead:Unknown' + keys: ['Unknown', 'Other (please describe below)'] \ No newline at end of file diff --git a/.github/workflows/add-issue-to-project.yml b/.github/workflows/add-issue-to-project.yml index 5591a91681..7a56765745 100644 --- a/.github/workflows/add-issue-to-project.yml +++ b/.github/workflows/add-issue-to-project.yml @@ -30,4 +30,4 @@ jobs: contentid: ${{ github.event.issue.node_id }} env: PROJECT_ID: "PVT_kwDOAGc3Zs0iZw" - GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} + GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} \ No newline at end of file diff --git a/.github/workflows/issue-labeler.yml b/.github/workflows/issue-labeler.yml new file mode 100644 index 0000000000..dbe8f11069 --- /dev/null +++ b/.github/workflows/issue-labeler.yml @@ -0,0 +1,32 @@ +name: Issue labeler +on: + issues: + types: [ opened ] + +permissions: + contents: read + +jobs: + label-component: + runs-on: ubuntu-latest + + permissions: + issues: write + actions: read + contents: read + + steps: + - uses: actions/checkout@v3 + + - name: Parse issue form + uses: stefanbuck/github-issue-parser@v3 + id: issue-parser + with: + template-path: .github/ISSUE_TEMPLATE/elastic-request.yaml + + - name: Set labels based on issue field + uses: redhat-plumbers-in-action/advanced-issue-labeler@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + issue-form: ${{ steps.issue-parser.outputs.jsonString }} + template: elastic-request.yaml \ No newline at end of file