Git Product home page Git Product logo

pullrequestreleasenotes's Introduction

Icon

PullRequestReleaseNotes

Build status Chocolatey Release License Gitter

Pull Request Release Notes utility generates release notes for all merged pull requests, on a specific branch, that have not yet been released relying solely on pull request titles and labels to generate the release notes.

Supported Pull Request providers are GitHub, GitLab, TFS / Team Services, BitBucket Cloud and Bitbucket Server.

Intention is to run this utility as part of a continuous integration process and generate notes automatically as part of every release branch build. Optionally the utility can also publish the notes to a markdown file, Atlassian Confluence page or a Slack post.

Utility outputs release notes following the Semantic Release Notes format and extracts semantic release note sections, categories and summaries from the pull request title and labels. For example all pull requests with Bug label can be grouped under Fixes section and pull requests with Enhancement label can be grouped under Enhancements section. Category grouping is possible through use of the #Label where # character is used to denote a category label as opposed to a section label. TFS / Team Services and BitBucket Cloud / Server pull request providers do not have a label concept yet so for those providers you can type [#section] and [##category] either in the title or the description of the pull request as a pseudo-label.

You can also define a label to exclude pull request from release notes. Also you can define a label that when not added to a pull request will add a release note highlighted as code. This can be useful for scenarios such as QA team adding a QC label to a pull request so then it is easy to spot which items haven't gone through QC.

Release note formatting can be customised where you can turn off grouping by section and category, order the release notes based on merged or created time of pull request and the format of the release note itself. Other cool things it can do includes supplying a version number via GitVersion and ability to consider only annotated tags as releases or any kind of tag. See HELP.md for all the details on how perform these customisations.

Install

choco install PullRequestReleaseNotes

Usage

While inside a git working directory run the application

$ PullRequestReleaseNotes

PullRequestReleaseNotes in action

Sample Markdown Output

# 1.2.1 (MASTER) - XX XXX 2016
## Enhancements
### Category A
- Awesome new feature [\#1854](https://github.com/org/repo/pull/1854)

### Undefined
- Special feature for Acme Co [\#1855](https://github.com/org/repo/pull/1855)

## Fixes
### Category Z
- Fixed problem with widget [\#1792](https://github.com/org/repo/pull/1792)

### Category Y
- Fixed exception with view layout [\#1848](https://github.com/org/repo/pull/1848)

### Undefined
- Fixed spelling mistake [\#1833](https://github.com/org/repo/pull/1833)

## Unclassified
### Undefined
- Added new Category H [\#1843](https://github.com/org/repo/pull/1843)

Sample GitHub Input

GITHUB

Sample GitLab Input

GITLAB

Sample BitBucket Cloud Input

BITBUCKETCLOUD

Sample BitBucket Server Input

BITBUCKETSERVER

Sample TFS / Team Services Input

TFS

Sample Confluence Output

CONFLUENCE

Sample Slack Output

SLACK

Command line and YAML file parameters

See HELP.md for details on parameters.

Thanks

Big thanks to Jake Ginnivan for inspiring this tool with his work on GitReleaseNotes and GitVersion

Also many thanks to:

pullrequestreleasenotes's People

Contributors

fizzbuzz791 avatar ebenzhang avatar

Watchers

James Cloos avatar Pedro Santiago avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.