igloo15 / ChangelogGenerator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ChangelogGenerator

Core: NuGet

Tool: NuGet

A dotnet global tool of the generating Changelog

Install

dotnet tools install -g igloo15.ChangelogGenerator.Core
dotnet tools install -g igloo15.ChangelogGenerator.Tool

Usage

dotnet changelog-generator --help
ChangelogGenerator 0.10.0
Copyright (C) 2018 Igloo15

  -m, --make-config               (Default: false) When this options is defined the server will create a config in
                                  current working directory and immediately close

  --help                          Display this help screen.

  --version                       Display version information.

Config

See the config schema here

Example Config

{
  "$schema": "../ChangelogGenerator.Core/changelog.schema.json",
  "Categories": [
    {
      "Filter": {
        "Keys": [ "#Summary" ]
      },
      "DisplayName": "Summary",
      "IsSummary": false
    },
    {
      "Filter": {
        "Keys": [ "#Commits" ]
      },
      "DisplayName": "Other Commits",
      "IsDefault": true
    },
    {
      "Filter": {
        "Keys": [ "#Add" ]
      },
      "DisplayName": "Add"
    },
    {
      "Filter": {
        "Keys": [ "#Change", "#Changes" ]
      },
      "DisplayName": "Changes",
      "IsSummary": true
    },
    {
      "Filter": {
        "Keys": [ "#FIXED", "#FIX" ]
      },
      "DisplayName": "Fixed"
    }
  ],
  "Links": [
    {
      "Filter": {
        "Keys": [ "#issue" ],
        "RemoveTokens": [ "#issue" ],
        "RemoveAllKey":  false
      },      
      "UrlTemplate": "https://github.com/igloo15/ChangelogGenerator/issues/{LinkCleanKey}"
    }
  ],
  "VersionFilter": {
    "Keys":[ "v" ]
  },
  "Templates": {
    "TitleTemplate": "# Changelog",
    "VersionTemplate": "## {Version}",
    "CategoryTemplate": "### {Category}",
    "IssueTemplate": "* {Message} {Links}",
    "LinkTemplate": "[{LinkCleanKey}]({Url})",
    "NoIssueTemplate": " N/A ",
    "EndCategoryTemplate": "\n",
    "EndVersionTemplate": "\n",
    "EndChangelogTemplate": "",
    "SummarySentenceTemplate": "{Message} "
  },
  "ChangelogLocation": "./CHANGELOG.md",
  "GitRepoLocation": "D:\\Development\\Projects\\Cake.igloo15",
  "UnreleasedTitle": "Unreleased",
  "GitRepoCommitLimit": -1,
  "AllCommits": true,
  "TestMode": false,
  "LatestCodeBranch": "develop"
}

Code

ChangelogCore core = new ChangelogCore();
core.Generate();
ChangelogSettings settings = new ChangelogSettings();
// Modify Settings

// Generate Config
ChangelogCore core = new ChangelogCore();
core.Generate(settings);

Api

See all api documentation here

About

License:MIT License


Languages

Language:C# 74.2%Language:PowerShell 18.4%Language:Shell 7.4%