diff options
-rw-r--r-- | .github/ISSUE_TEMPLATE/10_bug_report.yml | 5 | ||||
-rw-r--r-- | docs/repro.md | 26 |
2 files changed, 27 insertions, 4 deletions
diff --git a/.github/ISSUE_TEMPLATE/10_bug_report.yml b/.github/ISSUE_TEMPLATE/10_bug_report.yml index d6852c96af..ad85dbc18e 100644 --- a/.github/ISSUE_TEMPLATE/10_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/10_bug_report.yml @@ -33,11 +33,8 @@ body: attributes: label: Steps To Reproduce description: | - Steps to reproduce the behavior. + We ❤ code! Point us to a [minimalistic project which reproduces this issue (repro)](https://github.com/dotnet/aspnetcore/blob/main/docs/repro.md) hosted in a public GitHub repo. - We ❤ code! Point us to a minimalistic repro project hosted in a public GitHub repo. - For a repro project, create a new ASP.NET Core project using the template of your choice, apply the minimum required code to result in the issue you're observing. - We will close this issue if: - The repro project you share with us is complex. We can't investigate custom projects, so don't point us to such, please. - If we will not be able to repro the behavior you're reporting. diff --git a/docs/repro.md b/docs/repro.md new file mode 100644 index 0000000000..c7b586d076 --- /dev/null +++ b/docs/repro.md @@ -0,0 +1,26 @@ +# Bug Report Reproduction Guide + +When customers plan to report an issue with ASP.NET Core, we will most likely ask them to provide a so called `minimal reproduction project (repro)`. +This serves two purposes: +- It helps issue reporters validate their assumptions by trying to recreate the behavior in a new project. +- It helps eliminate ambiguity and speeds up investigations. We may also be able to provide workarounds in certain scenarios. + +This document describes what a minimal repro project is, and why it's important to us. + +## What is a minimal repro project? +A repro (or a reproduction) is a project, which can be used to reproduce the reported behavior with minimal effort from a product team, which has the minimum code required to demonstrate the concerning behavior. + +There are two ways you can provide a minimal repro project. The first and simpler option is to use some type of public web-hosted REPL-based environment which supports ASP.NET Core. The other option is to provide a project hosted in GitHub as described below: +- Create a new project, based on one of the ASP.NET Core project templates. + - **Please use the `Empty*` project templates** if they're available for that project type. +- Add the minimum amount of code necessary to reproduce the behavior you are reporting on this newly created project. +- Make sure you **do not** add any dependencies that are irrelevant to the behavior. +- Host the project as a **public** repository on GitHub. +- Make sure you haven't included any binaries in your project (this is usually about the `bin` and `obj` folders in your project) + Note: that this step is important and we won't be able to open zip attachments in your issues. + Zip files are potential attack vectors that we try to avoid at all cost. + + ## Important consideratoins + - **Never** include any sensitive information in your reproduction project. + - **Never** include any code that is not intended to be public in a repro. + - **Do not** reference any external services or data sources. |