From 52fff6f8b1b5877b388aec7a84d293421b31951f Mon Sep 17 00:00:00 2001 From: John-Michael Faircloth Date: Fri, 18 Aug 2023 16:19:47 -0500 Subject: [PATCH] Rework issue template (#1985) * Use GH issue forms for bug reports * add new form types * update wording * Update .github/ISSUE_TEMPLATE/02_enhancement.yml Co-authored-by: vinay-gopalan <86625824+vinay-gopalan@users.noreply.github.com> --------- Co-authored-by: vinay-gopalan <86625824+vinay-gopalan@users.noreply.github.com> --- .github/ISSUE_TEMPLATE.md | 43 ---- .github/ISSUE_TEMPLATE/00_bug_report.yml | 239 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/01_documentation.yml | 61 +++++ .github/ISSUE_TEMPLATE/02_enhancement.yml | 82 +++++++ .github/ISSUE_TEMPLATE/03_new_resource.yml | 71 ++++++ .github/ISSUE_TEMPLATE/04_other.yml | 54 +++++ .github/ISSUE_TEMPLATE/config.yml | 17 ++ 7 files changed, 524 insertions(+), 43 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/00_bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/01_documentation.yml create mode 100644 .github/ISSUE_TEMPLATE/02_enhancement.yml create mode 100644 .github/ISSUE_TEMPLATE/03_new_resource.yml create mode 100644 .github/ISSUE_TEMPLATE/04_other.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 8066d3921..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,43 +0,0 @@ -Hi there, - -Thank you for opening an issue. Please note that we try to keep the Terraform issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html. - -### Terraform Version -Run `terraform -v` to show the version. If you are not running the latest version of Terraform, please upgrade because your issue may have already been fixed. - -### Affected Resource(s) -Please list the resources as a list, for example: -- opc_instance -- opc_storage_volume - -If this issue appears to affect multiple resources, it may be an issue with Terraform's core, so please mention this. - -### Terraform Configuration Files -```hcl -# Copy-paste your Terraform configurations here - for large Terraform configs, -# please use a service like Dropbox and share a link to the ZIP file. For -# security, you can also encrypt the files using our GPG public key. -``` - -### Debug Output -Please provider a link to a GitHub Gist containing the complete debug output: https://www.terraform.io/docs/internals/debugging.html. Please do NOT paste the debug output in the issue; just paste a link to the Gist. - -### Panic Output -If Terraform produced a panic, please provide a link to a GitHub Gist containing the output of the `crash.log`. - -### Expected Behavior -What should have happened? - -### Actual Behavior -What actually happened? - -### Steps to Reproduce -Please list the steps required to reproduce the issue, for example: -1. `terraform apply` - -### Important Factoids -Are there anything atypical about your accounts that we should know? For example: Running in EC2 Classic? Custom version of OpenStack? Tight ACLs? - -### References -Are there any other GitHub issues (open or closed) or Pull Requests that should be linked here? For example: -- GH-1234 diff --git a/.github/ISSUE_TEMPLATE/00_bug_report.yml b/.github/ISSUE_TEMPLATE/00_bug_report.yml new file mode 100644 index 000000000..800e7c387 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/00_bug_report.yml @@ -0,0 +1,239 @@ +name: "Report a Bug" +description: "Choose this option to let us know about an unexpected error, a crash, or otherwise incorrect behavior." +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + # Thank you for raising a bug report! + + Before submitting a bug report, we ask that you first search existing + issues to see if someone else may have experienced the same issue. This + helps to keep all relevant information in one place, including any + potential workarounds. + + We also ask that you consider whether your issue may be related to + Terraform Core. If you are running into one of the following scenarios, + we recommend [opening an issue](https://github.com/hashicorp/terraform/issues/new/choose) + in the Terraform Core repository instead: + + * [Configuration Language](https://www.terraform.io/docs/configuration/index.html) or resource ordering issues + * [State](https://www.terraform.io/docs/state/index.html) and [State Backend](https://www.terraform.io/docs/backends/index.html) issues + * [Provisioner](https://www.terraform.io/docs/provisioners/index.html) issues + * [Registry](https://registry.terraform.io/) issues + * Spans resources across multiple providers + + - type: markdown + attributes: + value: | + # Terraform and Vault Provider Versions + + Please run `terraform -v` to show the Terraform Core and provider + version(s). If you are not running the latest version of either the + provider or Terraform Core, please consider upgrading, as your issue + may have already been fixed. + + [Terraform documentation on provider versioning](https://www.terraform.io/docs/configuration/providers.html#provider-versions) + + - type: input + id: tf_version + attributes: + label: Terraform Core Version + description: | + The semantic version of Terraform Core used when experiencing the bug. + If multiple versions have been tested, a comma separated list. + placeholder: "X.Y.Z" + validations: + required: true + + - type: input + id: tfvp_version + attributes: + label: Terraform Vault Provider Version + description: | + The semantic version of the Terraform Vault Provider used when + experiencing the bug. If multiple versions have been tested, a comma + separated list. + placeholder: "X.Y.Z" + validations: + required: true + + - type: input + id: vault_version + attributes: + label: Vault Server Version + description: | + The semantic version of the Vault Server used when experiencing the + bug. If multiple versions have been tested, a comma + separated list. + placeholder: "X.Y.Z" + validations: + required: true + + - type: markdown + attributes: + value: | + # Description + + In the next few fields, please provide any useful information you can + around what resources are affected, what you expected to happen, and + what actually happened. There is also a field to optionally provide a + small snippet of any relevant error or panic output. + + Note that there is a section later in the form to provide more complete + Terraform configuration and logging information. These fields should + instead be thought of as the place to briefly describe the bug. + + - type: textarea + id: affected + attributes: + label: Affected Resource(s) + description: Please list the affected resource(s) and/or data source(s). + placeholder: "* resource_xxx" + validations: + required: false + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What should have happened? + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? + validations: + required: true + + - type: textarea + id: log_snippet + attributes: + label: Relevant Error/Panic Output Snippet + description: | + If applicable, provide a relevant snippet from the error or panic + output. This will be rendered as `shell`, so there is no need to add a + [code fence](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks). + render: shell + validations: + required: false + + - type: markdown + attributes: + placeholder: "* GH-1234" + value: | + # Configuration and Logging + + Here, we ask that you provide the Terraform configuration and, when + possible, the debug logs. For configurations or logs of more than just + a few lines, it's preferred to either share a Gist link or zip the + files and upload them. + + Terraform configurations or debug logs under 25MB may be + [attached directly in the field](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files). + Files larger than this should be uploaded to a file hosting service and + a link shared. + + For your security you can also encrypt the files using our [GPG public key](https://keybase.io/hashicorp). + + **Note:** These form fields do not automatically render, so you will + need to use [code fence(s)](https://help.github.com/articles/basic-writing-and-formatting-syntax/#quoting-code) + to achieve proper formatting. + + - type: textarea + id: tf_config + attributes: + label: Terraform Configuration Files + description: | + Please paste, upload, or link to a file or Gist containing all + Terraform configurations required to reproduce the bug. See note above + for additional information on file size restrictions and encrypting. + + Bug reports without a functional reproduction may be closed without investigation. + validations: + required: true + + - type: textarea + id: repro + attributes: + label: Steps to Reproduce + description: Please list the steps required to reproduce the issue. + validations: + required: true + + - type: textarea + id: debug_logs + attributes: + label: Debug Output + description: | + If possible, please paste, upload, or link to a file or Gist containing + debug logs. See note above for additional information on file size + restrictions and encrypting. + + To obtain the debug output, see the + [Terraform documentation on debugging](https://www.terraform.io/docs/internals/debugging.html). + validations: + required: false + + - type: textarea + id: panic_logs + attributes: + label: Panic Output + description: | + If Terraform produced a panic, please paste, upload, or link to a file + or Gist containing the output of the `crash.log`. + validations: + required: false + + - type: markdown + attributes: + value: | + # Additional Information + + For the final two fields, optionally provide any additional context + that might help the community or maintainers to investigate the bug. + This might be additional references that you found when + troubleshooting, similar bug reports, or specifics about your + environment that might be unique. + + - type: textarea + attributes: + label: Important Factoids + description: | + Are there anything atypical about your configuration or environment + that we should know about? + validations: + required: false + + - type: textarea + id: references + attributes: + label: References + description: | + Where possible, please supply links to Vault documentation, other + GitHub issues (open or closed) or pull requests that give additional + context. + + [Information about referencing Github Issues](https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests) + validations: + required: false + + - type: dropdown + id: will_contribute + attributes: + label: Would you like to implement a fix? + description: | + If you plan to implement a fix for this, check this box to let the + maintainers and community know (you can update this later if you change + your mind). If this would be your first contribution, refer to + [Developing the Provider](https://github.com/hashicorp/terraform-provider-vault#developing-the-provider) + for tips on getting started. + options: + - "No" + - "Yes" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/01_documentation.yml b/.github/ISSUE_TEMPLATE/01_documentation.yml new file mode 100644 index 000000000..e3122f500 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01_documentation.yml @@ -0,0 +1,61 @@ +name: "Report a Documentation Error" +description: "Choose this option if you've found an error in the provider documentation or contribution guides." +title: "[Docs]: " +labels: ["documentation"] +body: + - type: markdown + attributes: + value: | + # Thank you for raising a documentation issue! + + This form is meant to alert the maintainers to an issue with the + provider documentation found on the [Terraform Registry](https://registry.terraform.io/providers/hashicorp/vault/latest) + such as resource and data source documentation, guides and examples. + + Documentation edits are generally a bit less involved, so are often a + great entrypoint if you've ever been interested in contributing. + + - type: input + id: registry_link + attributes: + label: Documentation Link + description: Please provide a link to the affected page on the Terraform Registry. + validations: + required: true + + - type: textarea + id: description + attributes: + label: Description + description: Please leave a brief description of the documentation issue. + validations: + required: true + + - type: textarea + id: references + attributes: + label: References + description: | + Where possible, please supply links to Vault documentation, other + GitHub issues (open or closed) or pull requests that give additional + context. + + [Information about referencing Github Issues](https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests) + validations: + required: false + + - type: dropdown + id: will_contribute + attributes: + label: Would you like to implement a fix? + description: | + If you plan to implement a fix for this, check this box to let the + maintainers and community know (you can update this later if you change + your mind). If this would be your first contribution, refer to + [Developing the Provider](https://github.com/hashicorp/terraform-provider-vault#developing-the-provider) + for tips on getting started. + options: + - "No" + - "Yes" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/02_enhancement.yml b/.github/ISSUE_TEMPLATE/02_enhancement.yml new file mode 100644 index 000000000..0490923ef --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02_enhancement.yml @@ -0,0 +1,82 @@ +name: "Request an Enhancement" +description: "Choose this option when you would like to request an enhancement to an existing resource, data source, or the provider itself." +title: "[Enhancement]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + # Thank you for opening an enhancement request! + + This form is intended as a way to request additional functionality for + existing resources, data sources, or the provider itself. This may + include requests such as adding additional arguments or attributes + enabled by upstream API changes, additional validation for arguments, + etc. + + If the absense of the requested feature is causing unexpected behavior + in the provider, the "Report a Bug" form should be used. For entirely + new resources, data sources, or services, please use the Request a "New + Resource or Data Source" form. + + - type: textarea + id: description + attributes: + label: Description + description: Please leave a brief description of the requested change. + validations: + required: true + + - type: textarea + id: affected + attributes: + label: Affected Resource(s) and/or Data Source(s) + placeholder: "* resource_xxx_yyy" + validations: + required: false + + - type: textarea + id: tf_config + attributes: + label: Potential Terraform Configuration + description: | + If this request was implemented, what might the Terraform configuration + look like? A best guess is helpful, even if you're unsure of exactly + what the end result will look like. This helps maintainers and the + community better understand how you (someone who is in need of this + feature) envisions it. + + **Note:** This field will render in HCL, so there is no need to add a + [code fence](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks). + render: terraform + validations: + required: false + + - type: textarea + id: references + attributes: + label: References + description: | + Where possible, please supply links to Vault documentation, other + GitHub issues (open or closed) or pull requests that give additional + context. + + [Information about referencing Github Issues](https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests) + validations: + required: false + + - type: dropdown + id: will_contribute + attributes: + label: Would you like to implement a fix? + description: | + If you plan to implement a fix for this, check this box to let the + maintainers and community know (you can update this later if you change + your mind). If this would be your first contribution, refer to + [Developing the Provider](https://github.com/hashicorp/terraform-provider-vault#developing-the-provider) + for tips on getting started. + options: + - "No" + - "Yes" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/03_new_resource.yml b/.github/ISSUE_TEMPLATE/03_new_resource.yml new file mode 100644 index 000000000..a9c211d5b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03_new_resource.yml @@ -0,0 +1,71 @@ +name: "Request a New Resource or Data Source" +description: "Choose this option to request an entirely new resource or data source be added to the provider." +title: "[New]: " +body: + - type: markdown + attributes: + value: | + # Thank you for opening a request! + + This form is intended to be used when requesting an entirely new + resource, data source, or service be added to the provider. If you're + looking for a change to be made to an existing resource or data source, + consider submitting either the "Request an Enhancement" or Report a + Bug" forms instead. + + Please update the title to match what you're requesting, e.g.: + + - `[New Resource]:` - for new resource requests + - `[New Data Source]:` - for new data source requests + + - type: textarea + id: description + attributes: + label: Description + description: Please leave a brief description of what you're requesting. + validations: + required: true + + - type: textarea + id: tf_config + attributes: + label: Potential Terraform Configuration + description: | + If this request was implemented, what might the Terraform configuration + look like? A best guess is helpful, even if you're unsure of exactly + what the end result will look like. + + **Note:** This field will render in HCL, so there is no need to add a + [code fence](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks). + render: terraform + validations: + required: false + + - type: textarea + id: references + attributes: + label: References + description: | + Where possible, please supply links to Vault documentation, other + GitHub issues (open or closed) or pull requests that give additional + context. + + [Information about referencing Github Issues](https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests) + validations: + required: false + + - type: dropdown + id: will_contribute + attributes: + label: Would you like to implement a fix? + description: | + If you plan to implement a fix for this, check this box to let the + maintainers and community know (you can update this later if you change + your mind). If this would be your first contribution, refer to + [Developing the Provider](https://github.com/hashicorp/terraform-provider-vault#developing-the-provider) + for tips on getting started. + options: + - "No" + - "Yes" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/04_other.yml b/.github/ISSUE_TEMPLATE/04_other.yml new file mode 100644 index 000000000..48cc2b1fa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04_other.yml @@ -0,0 +1,54 @@ +name: "Other" +description: "Choose this option if your issue does not fit the description of the others." +body: + - type: markdown + attributes: + value: | + # Thank you for raising an issue! + + This form is meant as a catch-all for issues that do not fit into one of the other existing forms: + + * Report a Bug + * Report a Documentation Error + * Request an Enhancement + * Request a New Resource or Data Source + + By nature this form is less rigid, so providing a bit of additional + information, context, or reference material is very much appreciated. + + - type: textarea + id: description + attributes: + label: Description + description: Please leave a detailed description of the issue. + validations: + required: true + + - type: textarea + id: references + attributes: + label: References + description: | + Where possible, please supply links to Vault documentation, other + GitHub issues (open or closed) or pull requests that give additional + context. + + [Information about referencing Github Issues](https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests) + validations: + required: false + + - type: dropdown + id: will_contribute + attributes: + label: Would you like to implement a fix? + description: | + If you plan to implement a fix for this, check this box to let the + maintainers and community know (you can update this later if you change + your mind). If this would be your first contribution, refer to + [Developing the Provider](https://github.com/hashicorp/terraform-provider-vault#developing-the-provider) + for tips on getting started. + options: + - "No" + - "Yes" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..824528083 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,17 @@ +blank_issues_enabled: false +contact_links: + - name: Terraform Vault Provider Questions + url: https://discuss.hashicorp.com/c/terraform-providers + about: GitHub issues in this repository are only intended for bug reports and feature requests. Other issues will be closed. Please ask and answer questions through the Terraform Discuss Community Forum. + + - name: Terraform Core Bug Reports and Feature Requests + url: https://github.com/hashicorp/terraform/issues/new/choose + about: Terraform Core, which handles the Terraform configuration language, CLI commands, and resource dependency graph, has its own codebase. Bug reports and feature requests for those pieces of functionality should be directed to that repository. + + - name: Terraform Language or Workflow Questions + url: https://discuss.hashicorp.com/c/terraform-core + about: Please ask and answer language or workflow related questions through the Terraform Core Community Forum. + + - name: Terraform Vault Provider Milestones + url: https://github.com/hashicorp/terraform-provider-vault/milestones + about: View the features planned for the upcoming releases of the Terraform Vault Provider.