Repository: certbot/certbot
Pull request: created an issue template
fixes #3195

Problem statement:
Create issue template
We should create an issue template for this repo to help make sure we get relevant information from a user reporting a new issue. Potential questions we could include in the template are:
- Which OS are you using?
- How did you install Certbot?
- What command(s) did you run?
- What did you expect?
- What was the result?
- Can you provide a log of the problem?

We want to be careful not to discourage users from opening new issues, but getting this information up front allows us to better solve a user's problem.

Hints from issue discussion:
Also, if relevant, can you provide the Apache/Nginx configuration file Certbot is struggling with?
@schoen can you link me to the template on the community forums?
I'm not sure where the canonical URL is, but if you choose new topic
category Help, it pre-fills the following text:


Please fill out the fields below so we can help you better.

My domain is:

I ran this command:

It produced this output:

My operating system is (include version):

My web server is (include version):

My hosting provider, if applicable, is:

I can login to a root shell on my machine (yes or no, or I don't know):

I'm using a control panel to manage my site (no, or provide the name and
version of the control panel):

Okay I'd like to publish these with a few changes:

- add 'how did you install certbot' after 'my operating system is'
- add 'what did you expect to happen' after 'I ran this command'
- add 'can you provide a log of the output (either from certbot itself or from the relevant webserver)' at the bottom
- move 'My domain is' to the end and add language to explain why it is important
-- possible language: "Many problems occur due to misconfigurations with your webserver or DNS record. If you share the domain you're attempting to validate with us we can often debug the issue by accessing the URL and getting some information about this configuration. If you have concerns about publishing this domain publicly you contact one of the maintainers to share it over email."
My two cents: I think there's a balance to strike here. More information helps us solve the problem, but asking too many questions is likely to frustrate people and/or cause them to not fill out the form.

I have some suggestions on things to remove below, but I personally think asking for relevant Apache/Nginx configuration files is extremely valuable as most problems with Apache or Nginx need this information to be resolved.

> My domain is:

> I ran this command:

>  It produced this output: 

All of this information *should* be automatically included in Certbot's logs, but it might be awkward to leave some of these questions out as they're somewhat standard for these kind of forms. Perhaps we shouldn't ask for the domain directly and rely on the log?

> My hosting provider, if applicable, is:

> I'm using a control panel to manage my site (no, or provide the name and version of the control panel):

I'm not sure if these are necessary here as it's rare for your hosting provider/control panel to be relevant when resolving an issue.

> I can login to a root shell on my machine (yes or no, or I don't know):

`root` is also less of an issue. It has come up, but `certbot-auto` automatically tries to `sudo`/`su` to `root` (and refuses to work if that fails) and we have half way decent error messages if you try to run `certbot` itself without `root`:
```
The following error was encountered:
[Errno 13] Permission denied: '/etc/letsencrypt'
If running as non-root, set --config-dir, --work-dir, and --logs-dir to writeable paths.
```

> add 'can you provide a log of the output (either from certbot itself or from the relevant webserver)' at the bottom

I think we should tell the user that logs are by default stored in `/var/log/letsencrypt` so they know where to find them. While Certbot logs are one of the most valuable things we can get, logs from your webserver are unlikely to be necessary.

> Many problems occur due to misconfigurations with your webserver or DNS record. If you share the domain you're attempting to validate with us we can often debug the issue by accessing the URL and getting some information about this configuration. If you have concerns about publishing this domain publicly you contact one of the maintainers to share it over email.

nit: I'd change the first line to something like: "Many problems can occur due to your server or DNS records being misconfigured."
great - I'm going to implement these! And we can adjust them as we see fit

Commit message: created an issue template

Patch to review:
diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md
new file mode 100644
index 00000000000..0c601f5f427
--- /dev/null
+++ b/ISSUE_TEMPLATE.md
@@ -0,0 +1,18 @@
+Thanks for using Certbot - if you're experiencing issues with using Certbot
+we'd appreciate it if you could answer a few questions about your environment so
+that we can better assist you:
+
+## My operating system is (include version):
+
+
+## My web server is (include version):
+
+
+## How did you install Certbot:
+
+
+## What command did you run? What output did it produce?
+### Please provide the Certbot error log if you can. It is stored by default in `/var/log/letsencrypt`
+
+
+## Many problems can occur due to your server or DNS records being misconfigured. If you share the domain you're attempting to validate with us we can often debug the issue by accessing the URL and getting some information about this configuration. If you have concerns about publishing this domain publicly you contact one of the maintainers to share it over email.


Code review comments:
diff_hunk: @@ -0,0 +1,18 @@
+Thanks for using Certbot - if you're experiencing issues with using Certbot
path: ISSUE_TEMPLATE.md
text: @user1:
I personally don't think any intro is necessary and we can just start with questions. It makes it less to read and is the format I've seen on most other repos. Feel free to leave it if you disagree though.

diff_hunk: @@ -0,0 +1,18 @@
+Thanks for using Certbot - if you're experiencing issues with using Certbot
+we'd appreciate it if you could answer a few questions about your environment so
+that we can better assist you:
+
+## My operating system is (include version):
+
+
+## My web server is (include version):
+
+
+## How did you install Certbot:
+
+
+## What command did you run? What output did it produce?
+### Please provide the Certbot error log if you can. It is stored by default in `/var/log/letsencrypt`
+
+
+## Many problems can occur due to your server or DNS records being misconfigured. If you share the domain you're attempting to validate with us we can often debug the issue by accessing the URL and getting some information about this configuration. If you have concerns about publishing this domain publicly you contact one of the maintainers to share it over email.
path: ISSUE_TEMPLATE.md
text: @user1:
After thinking about this more, I don't think we should ask for this. I think we should restrict issues on this repo to be issues with Certbot and not more general problems configuring their server. I've found the domain is really useful for helping people debug a webserver they manually misconfigured with certificates from Certbot, but almost never needed to debug a problem with Certbot itself. I asked about this in IRC and everyone who responded agreed.

This coupled with the fact that people are very hesitant to give up their domain makes me think we should nix this question entirely.