Skip to content

Create a release pull request using Github API

License

Notifications You must be signed in to change notification settings

meetsmore/github-pr-release

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github-pr-release

Build Status

Create a release pull request by using Github API. Inspired by git-pr-release.

  • No dependency on git. You can easily deploy it to Heroku etc.
  • Fast because it uses only Github API.

Gyazo

Usage

release(config)

Create a release pull request and return Promise.

You must pass a config as an argument.

var release = require('github-pr-release')

var config = {
  token: 'your github token',
  owner: 'uiureo',
  repo:  'awesome-web-app',
  head:  'master',                       // optional
  base:  'production',                   // optional
  template: '/path/to/template.mustache' // optional
}

release(config).then(function (pullRequest) {
  // success
})

pullRequest is an object that github api returns.

See: https://developer.github.com/v3/pulls/#get-a-single-pull-request

Install

npm install github-pr-release

Tips

Pull request titles

If one of pull requests of which consist a release pull request has a title like "Bump to v1.0", the title of the release pull request becomes "Release v1.0". Otherwise, it uses timestamps like "Release 2000-01-01 00:00:00" in local timezone.

Specify a message format

You can specify a template to change the message format. Pass a template path to config.template.

release({
  token: 'token'
  owner: 'uiureo',
  repo:  'awesome-web-app',
  template: './template.mustache'
})

The default template is below. The first line is treated as the title.

Release {{version}}
{{#prs}}
- [ ] #{{number}} {{title}} {{#assignee}}@{{login}}{{/assignee}}{{^assignee}}{{#user}}@{{login}}{{/user}}{{/assignee}}
{{/prs}}

GitHub Enterprise

If you use this plugin in GitHub Enterprise, you can specify endpoint domain for GitHub Enterprise.

release({
  token: 'token'
  owner: 'uiureo',
  repo:  'awesome-web-app',
  endpoint: 'https://github.yourdomain.com/api/v3'
})

Example

hubot

release = require('github-pr-release')
module.exports = (robot) ->
  robot.respond /release/i, (msg) ->
    release(config).then((pullRequest) ->
      msg.send pullRequest.html_url
    )
    .catch((err) ->
      msg.send("Create release PR failed: " + err.message)
    )

License

MIT

About

Create a release pull request using Github API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.0%
  • Mustache 1.0%