Skip to content

Commit

Permalink
Merge pull request #22596 from hashicorp/jretzolk/issue-forms
Browse files Browse the repository at this point in the history
Switch to Issue Forms
  • Loading branch information
justinretzolk authored Sep 16, 2022
2 parents 5ef91b4 + 729d537 commit da38070
Show file tree
Hide file tree
Showing 13 changed files with 539 additions and 158 deletions.
178 changes: 178 additions & 0 deletions .github/ISSUE_TEMPLATE/00_bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
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", "needs-triage"]
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 AWS 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: aws_version
attributes:
label: AWS Provider Version
description: The semantic version of the AWS Provider 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: "* aws_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:
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 vendor 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 the [contribution guide](https://hashicorp.github.io/terraform-provider-aws/) for tips on getting started.
options:
- "No"
- "Yes"
validations:
required: false
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/01_documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
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", "needs-triage"]
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/aws/latest) (such as resource and data source documentation, guides and examples), as well as the [contribution guide](https://hashicorp.github.io/terraform-provider-aws/).
Documentation edits are generally a bit less involved, so are often a great entrypoint if you've ever been interested in [contributing](https://hashicorp.github.io/terraform-provider-aws/documentation-changes/)!
- type: input
id: registry_link
attributes:
label: Documentation Link
description: Please provide a link to the affected page on the Terraform Registry or contribution guide.
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 vendor 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 the [contribution guide](https://hashicorp.github.io/terraform-provider-aws/) for tips on getting started.
options:
- "No"
- "Yes"
validations:
required: false
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/02_enhancement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
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", "needs-triage"]
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, Data Source, or AWS Service" 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: "* aws_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 vendor 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 the [contribution guide](https://hashicorp.github.io/terraform-provider-aws/) for tips on getting started.
options:
- "No"
- "Yes"
validations:
required: false
74 changes: 74 additions & 0 deletions .github/ISSUE_TEMPLATE/03_new_resource.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: "Request a New Resource, Data Source, or AWS Service"
description: "Choose this option to request an entirely new resource, data source, or AWS service be added to the provider."
title: "[New]: "
labels: ["needs-triage"]
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.
When possible, it's helpful to check the [AWS Go SDK](https://pkg.go.dev/github.com/aws/aws-sdk-go/service) or [AWS Go SDK v2](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2#section-directories) to determine whether functionality exists to enable the requested feature. It is **not** required that you do this. Any references found when searching can be added to the "References" field below to give maintainers or the community a head start.
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
- `[New Service]:` - for new AWS services
- type: textarea
id: description
attributes:
label: Description
description: Please leave a brief description of what you're requesting.
validations:
required: true

- type: textarea
id: resources
attributes:
label: Requested Resource(s) and/or Data Source(s)
description: |
Please list any new resource(s) and/or data source(s). The naming format is `aws_<service>_<resource_name>`, e.g., `aws_lambda_function`.
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 request) envisions it.
placeholder: "* aws_xxx_yyy"
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? Similar to above, 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 vendor 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 the [contribution guide](https://hashicorp.github.io/terraform-provider-aws/) for tips on getting started.
options:
- "No"
- "Yes"
validations:
required: false
Loading

0 comments on commit da38070

Please sign in to comment.