Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github-pr-release

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github-pr-release

Create a release pull request by Github API

  • 1.3.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

github-pr-release

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

  • No dependency on git. You can easily deploy it to Heroku / AWS Lambda / Google Cloud Functions etc.
  • Fast because it uses only Github API.
  • Written in JavaScript.

Gyazo

Usage

<<<<<<< HEAD

release(config)

=======

API: release(config)

origin/master

Create a release pull request and return Promise.

You must pass a config as an argument.

const release = require("github-pr-release");

const config = {
  token: "your github token",
  owner: "uiur",
  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
});

Also, the following environment variables can be used for the config:

  • GITHUB_PR_RELEASE_OWNER
  • GITHUB_PR_RELEASE_REPO
  • GITHUB_PR_RELEASE_TOKEN
  • GITHUB_PR_RELEASE_HEAD
  • GITHUB_PR_RELEASE_BASE
  • GITHUB_PR_RELEASE_ENDPOINT

CLI

You can create a release pull request by the following command:

❯ npx github-pr-release owner/repo --head master --base production
# `GITHUB_PR_RELEASE_TOKEN` is required

--help:

❯ npx github-pr-release --help
Usage: github-pr-release [repo]

Options:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]
  --head                                                     [default: "master"]
  --base                                                 [default: "production"]

Examples:
  github-pr-release uiur/github-pr-release --head master --base production

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: 'uiur',
  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: 'uiur',
  repo:  'awesome-web-app',
  endpoint: 'https://github.yourdomain.com/api/v3'
})

Example

GitHub Actions

Creating release pull requests can be automated using GitHub Actions.

Create .github/workflows/create-pr-release.yml with the following content:

name: Create release pull requests

on:
  push:
    branches: [master]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 16.x
          cache: "yarn"

      - run: yarn install
      - name: Create release pull requests
        run: |
          npx github-pr-release $GITHUB_REPOSITORY --head master --base production
        env:
          GITHUB_PR_RELEASE_TOKEN: ${{ secrets.GITHUB_TOKEN }}

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)
    )

Development

The release flow of github-pr-release is managed with github-pr-release itself.

It creates a release pull request when merging a topic branch or pushing to the main branch. The update can be published by merging a release pull request.

License

MIT

FAQs

Package last updated on 13 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc