Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
github-pr-release
Advanced tools
Create a release pull request using GitHub API. Inspired by git-pr-release.
<<<<<<< HEAD
=======
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
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
npm install github-pr-release
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.
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}}
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'
})
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 }}
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)
)
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.
MIT
FAQs
Create a release pull request by Github API
The npm package github-pr-release receives a total of 2,672 weekly downloads. As such, github-pr-release popularity was classified as popular.
We found that github-pr-release demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.