Skip to content

A command line utility for posting release notes as issues to a github shared repository

Notifications You must be signed in to change notification settings

guidesmiths/release-clerk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Release Clerk

A command line utility for posting release notes as issues to a github shared repository. This is especially useful in a continuous deployment / micro-service environment, where developers release at will, making it difficult to keep track of what changes have been rolled out to, or back from, production.

Build Status

Usage

npm i release-clerk
node_modules/.bin/release-clerk --help

Usage: release-clerk [options]

  Options:

     h, --help                          output usage information
    -V, --version                       output the version number
    -c --config [string]                path to config file
    -r --repository [string]            repository of the project being released
    -u --user [string]                  user/organisation of the project being released
    -p --previous-release-sha [string]  last commit sha of the previous release (if any)
    -q --current-release-sha [string]   last commit sha sha this release
    -t --title [string]                 issue title
    -s --summary [string]               issue summary
    -l --labels [string]                issue labels (comma separated string)
    -m --milestone [string]             issue milestone
    -d --debug                          debug (outputs issue to console instead of creating it)

Configuration

Release Clerk will attempt to load configuration from config.json and config.js in the current working directory. You can specify this path using the --config command line argument. At a minimum you need to provide

  1. An api token to authenticate the github client. See https://help.github.com/articles/creating-an-access-token-for-command-line-use
  2. A user-agent for the github client. This should be user github username.
  3. The user and repository you want to post release notes to.

Minimum configuration in config.js

module.exports = {
    github: {
        token: "your github api token"
        headers: {
            'user-agent': 'your github username'
        }
    },
    issues: {
        user: 'organisation or github username',
        repository: 'repository where releases will be recorded'
    }
}

Full Configuration

module.exports = {
    github: {
        version: "3.0.0",
        debug: false,
        host: "api.github.com",
        timeout: 25000,
        pageSize: 25,
        token: "your github api token"
        headers: {
            'user-agent': 'your github username'
        }
    },
    issues: {
        user: 'organisation or github username',
        repository: 'repository where releases will be recorded',
        labels: ['LABEL 1', 'LABEL 2'],
        templates: '/path/to/custom/templates'
    }
}

About

A command line utility for posting release notes as issues to a github shared repository

Resources

Stars

Watchers

Forks

Packages

No packages published