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

  • By
    Conquering Impostor Syndrome

    Two years ago I documented my struggles with Imposter Syndrome and the response was immense.  I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions.  I've even caught myself reading the post...

  • By
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

Incredible Demos

  • By
    jQuery Countdown Plugin

    You've probably been to sites like RapidShare and MegaUpload that allow you to download files but make you wait a specified number of seconds before giving you the download link. I've created a similar script but my script allows you to animate the CSS font-size...

  • By
    Input Incrementer and Decrementer with MooTools

    Chris Coyier's CSS-Tricks blog is everything mine isn't. Chris' blog is rock star popular, mine is not. Chris prefers jQuery, I prefer MooTools. Chris does posts with practical solutions, I do posts about stupid video-game like effects. If I...

Discussion

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