Simple way to automatically create GitHub releases with changelog and attachments out of issues & milestones.
Creates a release with the version of a DLL or EXE file, e.g. 1.2.3.4
. The last version part is the build number.
GitHubReleaser searches for a milestone without the build number e.g. 1.2.3
. All issues in the milestone would be printed in the release changelog. You can also define which label should be in or filter some single issues out.
You can also attach files to the release e.g. ZIP-File with your binaries.
If the release is a pre-release, all closed issues of the milestone are collected since last release (date). If the release is NOT a pre-release, all issues of the milestone are collected (summary).
You can also update a release (changelog & attachments).
Get a API-Token for your GitHub-User here. We need the scope repo
.
Execute GitHubRelease via command line arguments:
GitHubReleaser.exe /github-repo:"MyUsername/MyRepo" /github-token:"5578d3a8e0ed1c524e3c8c832e1533d79b16ad3c" /file-for-version:"C:\test\MyDllOrExe.dll" /pre-release:"false" /issue-labels:"bug;Bug" "feature;Feature" /issue-filter-label:"not-in-changelog" /release-attachments:"C:\test\MyDllOrExe1.zip" "C:\test\MyDllOrExe2.zip" /create-changelog-file:"false"
Or open config file with GitHubRelease:
GitHubReleaser.exe "C:\test\MySettings.json"
Combining config file with commandline arguments is not supported yet.
Name | Example | Required |
---|---|---|
github-repo |
MyUsername/MyRepo | ✅ |
github-token |
5578d3a8e0ed1c524e3c8c832e1533d79b16ad3c | ✅ |
file-for-version |
"C:\test\MyDllOrExe.dll" | ✅ |
pre-release |
false | |
issue-labels |
"bug;Bug" "feature;Feature" | |
issue-filter-label |
not-in-changelog | |
release-attachments |
"C:\test\MyDllOrExe1.zip" "C:\test\MyDllOrExe2.zip" | |
update-only |
false | |
create-changelog-file |
false | |
draft |
false | |
delete-files-after-upload |
false |
{
"IsChangelogFileCreationEnabled": false,
"IsUpdateOnly": true,
"ReleaseAttachments": [ "C:\\test\\MyDllOrExe1.zip", "C:\\test\\MyDllOrExe2.zip" ],
"IssueFilterLabel": "not-in-changelog",
"IssueLabels": {
"bug": "Bug",
"feature": "Feature"
},
"IsPreRelease": false,
"IsDraft": false,
"DeleteFilesAfterUpload": false,
"FileForVersion": "C:\\test\\MyDllOrExe.dll",
"GitHubToken": "_5578d3a8e0ed1c524e3c8c832e1533d79b16ad3c_",
"GitHubRepo": "MyUsername/MyRepo"
}
For debugging you can add a Secrets.cs to the folder Model:
For testing we use Smart Command Line Arguments Visual Studio extension.
With a test milestone and some test issues you can simple run throw the steps:
Feel free to make a pull-request 🦄 Or simple make an issue for a bug report or feature request 💖
Thanks to Daniel Papp for being a first class contributer.