Create GitHub Pull Request and Issue Templates

By  on  

There's nothing more frustrating than getting an incomplete bug report.  I've often seen bug reports containing a useless "{x} feature doesn't work"; no steps to reproduce, no URL, no browser or device information, just a hopelessly vague message.  Similar is receiving a pull request or patch which doesn't state its intent and doesn't provide steps to test (and what about unit tests?).  Now that many projects are public, most on GitHub, I've seen a massive rise in these types of sparsely documented issues and pull requests.

I recently found out you an create pull request and issues templates so that when the user goes to file a pull request or issue, your template displays within the description textarea.  Let's have a look at how we can do that!

Creating Template Files

Creating and putting in place the template files is easy:

  • The proper place to put the template files is in a .github directory at the root of your repository
  • The templates are to be created in markdown format
  • The issues template text goes in a ISSUE_TEMPLATE.md file
  • The pull requests template text goes in a PULL_REQUEST_TEMPLATE.md file

A great example of template usage can be seen in the A-Frame repository.  The issue template looks as follows:

**Description:**

- A-Frame Version:
- Platform / Device:
- Reproducible Code Snippet or URL:

<!-- If you have a support question, please ask at https://stackoverflow.com/questions/ask/?tags=aframe rather than filing an issue. -->

If your community repositories suffer from lack of information in issues and pull requests, or you simply want to prevent the problem, create GitHub templates for developers.  They may not provide the information you'd like, but you can at least nudge them in the proper direction!

Recent Features

Incredible Demos

  • By
    JavaScript Canvas Image Conversion

    At last week's Mozilla WebDev Offsite, we all spent half of the last day hacking on our future Mozilla Marketplace app. One mobile app that recently got a lot of attention was Instagram, which sold to Facebook for the bat shit crazy price of one...

  • By
    Form Element AJAX Spinner Attachment Using MooTools

    Many times you'll see a form dynamically change available values based on the value of a form field. For example, a "State" field will change based on which Country a user selects. What annoys me about these forms is that they'll often do an...

Discussion

    Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!