|
3 | 3 | Pull Request Release Notes |
4 | 4 | ========================== |
5 | 5 |
|
6 | | -[](https://ci.appveyor.com/project/jasminsehic/unreleasedgithubhistory) |
7 | | -[](https://www.nuget.org/packages/PullRequestReleaseNotes.DotNetCore) |
8 | | -[](https://chocolatey.org/packages/PullRequestReleaseNotes) |
| 6 | +[](https://github.com/jasminsehic/PullRequestReleaseNotes/actions/workflows/test.yml) |
| 7 | +[](https://github.com/jasminsehic/PullRequestReleaseNotes/actions/workflows/main.yml) |
9 | 8 | [](https://github.com/jasminsehic/PullRequestReleaseNotes/releases) |
10 | 9 | [](https://github.com/jasminsehic/PullRequestReleaseNotes/blob/master/LICENSE) |
11 | 10 | [](https://gitter.im/jasminsehic/PullRequestReleaseNotes) |
12 | 11 |
|
13 | | -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 and publish them in markdown format. |
| 12 | +Pull Request Release Notes utility generates release notes for all merged pull requests that have not been released relying on pull request titles and labels to generate and publish release notes. |
14 | 13 |
|
15 | 14 | Supported Pull Request providers are [GitHub](https://github.com/), [GitLab](https://gitlab.com/), [Azure DevOps Services / Server](https://azure.microsoft.com/en-au/services/devops/), [BitBucket Cloud](https://bitbucket.org/) and [Bitbucket Server](https://www.atlassian.com/software/bitbucket/download). |
16 | 15 |
|
17 | | -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](https://www.atlassian.com/software/confluence) page or a [Slack](https://slack.com/) post. |
| 16 | +You can run this as part of CI process and generate notes automatically as part of every release. You can also publish notes to a markdown file, [Atlassian Confluence](https://www.atlassian.com/software/confluence) page or a [Slack](https://slack.com/) post. |
18 | 17 |
|
19 | 18 | ## Command line, YAML file parameters and Environment variables |
20 | 19 | See [HELP.md](https://github.com/jasminsehic/PullRequestReleaseNotes/blob/master/docs/HELP.md) for details on parameters. |
21 | 20 |
|
22 | | -## Release Notes Format |
23 | | - |
24 | | -Utility outputs release notes following the [Semantic Release Notes](https://web.archive.org/web/20161013175123/http://www.semanticreleasenotes.org/) 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. 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. |
25 | | - |
26 | | -Release note formatting can be further 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. Version number can be supplied via [GitVersion](https://github.com/GitTools/GitVersion) tool. |
27 | | - |
28 | | -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. |
29 | | - |
30 | | -See [HELP.md](https://github.com/jasminsehic/PullRequestReleaseNotes/blob/master/docs/HELP.md) for all the details on how perform these customisations. |
31 | | - |
32 | | -## .NET Core Global Tool Install |
33 | | - |
34 | | - dotnet tool install -g PullRequestReleaseNotes.DotNetCore |
35 | | - |
36 | | -## .NET Core Global Tool Usage |
| 21 | +## Docker Image |
37 | 22 |
|
38 | | -While inside a git working directory run the application |
| 23 | +You can run `jasminsehic/pullrequestreleasenotes` Linux Docker image on Windows WSL2, Linux or MacOS. |
| 24 | +While inside the root of a working git directory run the Docker image using below command examples. |
| 25 | +GitHubToken used in the example is just an example. |
39 | 26 |
|
40 | | - $ dotnet-pullrequestreleasenotes -GitHubToken c03b77a4982d48f0af328312a9b99455 |
| 27 | +To run on Windows run this from Command Prompt: |
| 28 | +``` |
| 29 | +docker run --rm -it -v "%cd%:/repo" jasminsehic/pullrequestreleasenotes:latest -grp /repo -GitHubToken c03b77a4982d48f0af328312a9b99455 |
| 30 | +``` |
| 31 | +or run this from PowerShell: |
| 32 | +``` |
| 33 | +docker run --rm -it -v "${pwd}:/repo" jasminsehic/pullrequestreleasenotes:latest -grp /repo -GitHubToken c03b77a4982d48f0af328312a9b99455 |
| 34 | +``` |
| 35 | +To run on Linux or MacOS: |
| 36 | +``` |
| 37 | +docker run --rm -it -v "$(pwd):/repo" jasminsehic/pullrequestreleasenotes:latest -grp /repo -GitHubToken c03b77a4982d48f0af328312a9b99455 |
| 38 | +``` |
41 | 39 |
|
42 | | -### Linux note |
| 40 | +## Release Notes Format |
43 | 41 |
|
44 | | -Only tested on Ubuntu 18.04 (Bionic) and 20.04 (Focal Fossa). You will need to run `sudo apt-get install libgit2-dev` and `sudo ln -s /usr/lib/x86_64-linux-gnu/libgit2.so /usr/lib/x86_64-linux-gnu/libgit2-572e4d8.so` to ensure libgit2 library can be found by the app. This is expected to be resolved in a future version of LibGit2Sharp. |
| 42 | +Utility outputs release notes following the [Semantic Release Notes](https://web.archive.org/web/20161013175123/http://www.semanticreleasenotes.org/) format hiararchy and extracts semantic release note sections, categories and summaries from the pull request title and labels. |
45 | 43 |
|
46 | | -## Chocolatey Install |
| 44 | +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. 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. |
47 | 45 |
|
48 | | - choco install PullRequestReleaseNotes |
49 | | - |
50 | | -## Chocolatey Usage |
| 46 | +Release note formatting can be further 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. Version number can be supplied via [GitVersion](https://github.com/GitTools/GitVersion) tool. |
51 | 47 |
|
52 | | -While inside a git working directory run the application |
| 48 | +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. |
53 | 49 |
|
54 | | - $ PullRequestReleaseNotes -GitHubToken c03b77a4982d48f0af328312a9b99455 |
| 50 | +See [HELP.md](https://github.com/jasminsehic/PullRequestReleaseNotes/blob/master/docs/HELP.md) for all the details on how perform these customisations. |
55 | 51 |
|
56 | 52 | ## PullRequestReleaseNotes in action |
57 | 53 |
|
|
0 commit comments