Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 40 additions & 12 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,30 @@ labels: ["bug"]

body:

- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug!

**Please provide as much information as you have available. The more information we have, the better we will be able to help resolve the issue.**

## Bug details

- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of the problem behavior
description: Provide a description of the bug.
value: |
<!-- A clear and concise description of the problem behavior, including what is happening, and what you expected to happen. -->
validations:
required: true

- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: Steps to reproduce the behavior
label: How to reproduce the bug
description: Provide a step-by-step explanation of how to reproduce the bug.
value: |
1. Go to '...'
2. Click on '....'
Expand All @@ -26,27 +37,35 @@ body:
required: true

- type: textarea
id: expected
id: example
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen
label: Minimum example code
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree we want example code if it's applicable, but I don't think we should make it a separate required field, because it's not always applicable. For example, if someone has a usage problem with Briefcase, there isn't any code involved.

I'd suggest something like this:

  • Describe the bug
    • (In placeholder comment) Include all of the following, where applicable:
      • A step-by-step explanation of what you did and what happened.
      • What you expected to happen.
      • The smallest possible code example that is needed to reproduce the bug.
  • Environment
    • Separate required field, like before.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it is not always applicable, then no, it should not be a required field. However, I don't agree with combining it into the "Describe" field. I feel it should still be a separate field with the render: shell attribute set. It should be readily apparent as a necessity, especially if we are not requiring it. Including it in another field is far more likely to get overlooked.

I looked deeper into the options available for GitHub's form schema, which is what's used for creating issue templates. I want to try a few other changes as well. I will push an update for you to review soon.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd question whether there are that many cases where example code isn't required. A comprehensive, shovel-ready bug report will always need an example app, or an example app configuration.

Having it as a separate field with code formatting enabled will hopefully mean less time fixing bug reports to add code formatting markup.

If we're going to drop something, I'd argue "What you expected to happen" is a question that hasn't served us well - it's almost universally answered by the public as "it should work" or "the app should not crash" or similar; and even when I'm paying attention and filling out a full report, the answer is almost always "whatever is the opposite of the thing described in the 'what happened' section".

description: The smallest possible code example that is needed to reproduce the bug. This will be automatically formatted into code, so there is no need for backticks.
render: shell
validations:
required: true
required: false

- type: textarea
id: screenshots
attributes:
label: Screenshots
description: Please add screenshots, if applicable.
description: Include screenshots, if applicable.
placeholder: If the bug is visual, upload screenshots of the bug happening.
validations:
required: false

- type: markdown
attributes:
value: |
## Environment details

- type: textarea
id: environment
attributes:
label: Environment
description: Include versions for all relevant dependencies.
label: Environment details
description: Include details about your development environment, including names and versions for all relevant software dependencies.
value: |
- Operating System:
- Operating system and version:
- Python version:
- Software versions:
- Briefcase:
Expand All @@ -55,20 +74,29 @@ body:
validations:
required: true

- type: markdown
attributes:
value: |
## Logs and additional context

- type: textarea
id: logs
attributes:
label: Logs
description: Paste or upload relevant log files. Briefcase will create a logfile when invoked with the ``--log`` flag.
description: Paste or upload relevant log files. Briefcase will create a logfile when it has an error, or when invoked with the ``--log`` flag.
value: |
<!-- Paste your log content between the backticks, or upload a file. -->
```

```
validations:
required: false

- type: textarea
id: additional
attributes:
label: Additional context
description: Add any other context about the problem here.
placeholder: Include any other context about the problem that you'd like to share.
validations:
required: false
Loading