Repository: netty/netty
Issue: Consider using an issue template
Labels: documentation

I've noticed that despite the fact there are the [guidelines for contributing](https://github.com/netty/netty/blob/4.1/CONTRIBUTING.md), people still keep creating issues that contain so little information that is sometimes absolutely impossible to do anything without asking additional questions like:

- What Netty's version is a person using?
- What steps do I have to perform in order to reproduce the problem?
- What's the context of the problem (i.e expected behavior - actual behavior)?
- Any additional information: network configuration, JVM version, OS type/version, heap dump, stack trace, etc.

You might have heard about these features that GitHub [provides](https://github.com/blog/2111-issue-and-pull-request-templates). By creating a simple *.md file in the repository, GitHub will automatically use it as a template for any new issues/PRs (different *.md file, though). So, instead of asking people all these questions you might consider using the issue template. Chances are that you'll save a hell of a lot of time by integrating this feature into the current workflow.

[Here's](https://github.com/orientechnologies/orientdb/issues) an example of a project which uses this technique and here are the examples how to create [the pull request template](https://help.github.com/articles/creating-a-pull-request-template-for-your-repository/) and [the issue template](https://help.github.com/articles/creating-an-issue-template-for-your-repository/).

Issue comments:
@maseev - I had not heard about this ... but this sounds great thanks!

Pull request review comments:
typo ihttp -> http
Why not copy direct from http://netty.io/wiki/writing-a-commit-message.html? (I think the sentences under each header help a lot when thinking of what to write).
I'm currently experimenting with the format. Markdown looks nice in UIs that support it and helps visually separate different sections/titles and still looks reasonable as plain text.
nit caps? Minimal yet complete reproducer code
as @johnou pointed out this is currently different from http://netty.io/wiki/writing-a-commit-message.html ... @normanmaurer @trustin @nmittler do you have a preference or objection to this (I will update the wiki if we are OK with this).  Markdown looks nice in UIs that support it and helps visually separate different sections/titles and still looks reasonable as plain text.
Maybe something like this?

```text
**Motivation:**

Explain here the context, and why you're making that change.
What is the problem you're trying to solve.

**Modifications:**

Describe the modifications you've done.

**Result:**

After your change, what will change.
```
not strong here but the intention is that this is a "section header/title" (not a sentence)
I'll include the descriptions for each section, but I prefer the Markdown section header. That way extra "hard coded" newlines aren't necessary ... the spacing is determined by the styles.
I would prefer to not use markdown in commit messages honestly.
For Netty version, you can use something very similar to [this](https://github.com/orientechnologies/orientdb/blob/master/.github/ISSUE_TEMPLATE.md#orientdb-version-operating-system-or-hardware). You can also declare that Netty 3.x is EOL and no longer supported and a person needs to upgrade to 4.0.x or 4.1.x. WDYT?
I would prefer to not update this template with every new release. I'm fine with leaving the field free form for now and updating it later if the field is being abused.

We could add a note that 3.x is EOL but it may be useful for folks to still report the issue for knowledge sharing, and in-case someone is motivated enough they can fix it.
@normanmaurer - You don't like the way it looks in UIs, just think it is too noisy as plain text, or something else?
Fair enough.
I don't like to include markdown as not all tools support it and it looks ugly if they not do. For example I often use `git log` on the cmdline etc.
To keep it consistent with the Netty wiki I would remove caps from every word even if it's a section header / title.
@normanmaurer You're not a fan of hashtags? :)

Honestly, the basic formatting used by this template wouldn't be that ugly with pure text-based tools. The only ugly bit would be if the user added a bunch of markdown within the comments. 
I agree with @nmittler, but I don't want to get hung up on this cause I think its roughly the same either way ... @normanmaurer do you still want me to remove the markdown for section headers?
sgtm
I just like to keep it simple in commit messages which basically means no markdown ;) But if you guys really love it I am ok with it. 
@normanmaurer - I'll just stay consistent with the wiki ... we can update later if we want.
this extra vertical space hurts my eyes 😜 

Patch that resolved the issue:
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 00000000000..81c2ceabb93
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,1 @@
+Please review the [guidelines for contributing](http://netty.io/wiki/developer-guide.html) for this repository.
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 00000000000..a7a6188615e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,13 @@
+### Expected behavior
+
+### Actual behavior
+
+### Steps to reproduce
+
+### Minimal yet complete reproducer code (or URL to code)
+
+### Netty version
+
+### JVM version (e.g. `java -version`)
+
+### OS version (e.g. `uname -a`)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 00000000000..17b37258154
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,14 @@
+Motivation:
+
+Explain here the context, and why you're making that change.
+What is the problem you're trying to solve.
+
+Modification:
+
+Describe the modifications you've done.
+
+Result:
+
+Fixes #<GitHub issue number>. 
+
+If there is no issue then describe the changes introduced by this PR.


Test patch: