GitHubReleaseNotesGene... 0.1.0 License Info
GitHubReleaseNotesGenerator 0.1.0
GitHubReleaseNotesGenerator
GitHubReleaseNotesGenerator is a tool to generate GitHub release notes based on labels and searches.
Example project: Here
Example Usage
Create release notes for default labels (Enhancements, Bugs, and Unlabeled).
GitHubReleaseNotesGenerator gitHubReleaseNotesGenerator = new GitHubReleaseNotesGenerator(
"[Repository Owner]", // Replace this
"[Repository Name]", // Replace this
"[Milestone Name]", // Replace this
new Credentials("[GitHub Token]")); // Replace this
ReleaseNotesRequest defaultRequest = ReleaseNotesRequestBuilder.CreateDefault(gitHubReleaseNotesGenerator.Repository, gitHubReleaseNotesGenerator.Milestone);
string releaseNotes = await gitHubReleaseNotesGenerator.CreateReleaseNotes(defaultRequest);
Create release notes for a labels.
ReleaseNotesRequest allRequest = await ReleaseNotesRequestBuilder.CreateForAllLabels(gitHubReleaseNotesGenerator.GitHubClient, gitHubReleaseNotesGenerator.Repository, gitHubReleaseNotesGenerator.Milestone);
string releaseNotes = await gitHubReleaseNotesGenerator.CreateReleaseNotes(allRequest);
Create a custom RepositoryIssueSectionRequest
.
RepositoryIssueSectionRequest customRepositoryIssueSectionRequest = new RepositoryIssueSectionRequest
{
Emoji = "[Emoji]",
Title = "[Section Title]",
RepositoryIssueRequest = new RepositoryIssueRequest
{
// Milestone
// Assignee
// Creator
// Mentioned
// Filter
// State
// Labels
// SortProperty
// SortDirection
// Since
}
};
Create a custom SearchIssueSectionRequest
.
SearchIssueSectionRequest customSearchIssueSectionRequest = new SearchIssueSectionRequest
{
Emoji = "[Emoji]",
Title = "[Section Title]",
SearchIssuesRequest = new SearchIssuesRequest
{
// Archived
// User
// Comments
// Closed
// Base
// Head
// Status
// Merged
// Updated
// Created
// Is
// Language
// No
// Labels
// State
// Team
// Involves
// Commenter
// Mentions
// Assignee
// Author
// Involves
// Type
// Sort
// SortField
// Repos
// Exclusions
}
};
Override emojis used in section titles by setting the EmojiHelper.EmojiDictionary
where the key is the label name and value is the emoji name.
EmojiHelper.EmojiDictionary = new Dictionary<string, string>
{
{ "enhancement", ":sunny:" },
{ "bug", ":worried:" },
{ "unlabeled", ":pencil2:" },
{ "help wanted", ":sos:" }
};