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:" }
};

⭐ Powered By: