GitHub PR および問題から変更を取得し、ラベルごとに整理する高速変更ログ ジェネレーター。
最後の GitHib リリースから現在のディレクトリ内の git リポジトリの現在の git HEAD タグ/コミットまでの変更ログを作成します。
クロニクル
現在のディレクトリ内の git リポジトリの v0.16.0 から現在の git HEAD タグ/コミットまでのすべての変更を含む変更ログを作成します。
クロニクル --since-tag v0.16.0
指定されたパスにあるリポジトリの 2 つの特定のタグの間に変更ログを作成する
クロニクル --since-tag v0.16.0 --until-tag v0.18.0 ./path/to/git/repo
変更ログを作成し、変更ログ内の一連の変更からリリース バージョンを推測します。
クロニクル -n
一連の変更に基づいて次のリリースのバージョンを推測するだけです (変更ログは作成しないでください)
次のバージョンのクロニクル
カール -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b /usr/local/bin
...または、リリース バージョンとインストール先ディレクトリを指定できます。
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b
構成検索パス:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.yaml
構成オプション (例の値はデフォルトです):
# 変更ログの出力形式# -o、--output、および CHRONICLE_OUTPUT と同じ env varoutput: md# すべてのログ出力を抑制します# -q と同じ; CHRONICLE_QUIET env varquiet: false# すべてのログ オプションlog: # 構造化ログを使用します # CHRONICLE_LOG_STRUCTURED と同じ env var Structured: false # ログ レベル # CHRONICLE_LOG_LEVEL と同じ env var level: "warn" # ログ ファイルを書き込む場所 (デフォルトではありません)ログファイルがあります) # CHRONICLE_LOG_FILE と同じ env var file: ""# 現在のバージョンと一連の変更に基づいて次のリリースのバージョンを推測します (--until-tag と一緒に使用することはできません)# --speculate- と同じです次のバージョン / -n ; CHRONICLE_SPECULATE_NEXT_VERSION env varspeculate-next-version: false# 変更ログの開始 git タグをオーバーライドします (デフォルトでは、最後のリリースが自動的に検出されます)# --since-tag / -s と同じです。 CHRONICLE_SINCE_TAG env varsince-tag: ""# 変更ログの終了 git タグをオーバーライドします (デフォルトでは、タグを使用するか、git HEAD でコミットします)# --until-tag / -u と同じです。 CHRONICLE_SINCE_TAG env varuntil-tag: ""# 現在のリリース バージョンが v1.0 未満の場合、重大な変更によりマイナー バージョン フィールドが変更されます# CHRONICLE_ENFORCE_V0 と同じ env varenforce-v0: false# 変更ログに使用されるタイトル# CHRONICLE_TITLEtitle と同じ: Changelog# すべての github 関連設定github: # 使用する github ホスト (github エンタープライズ デプロイメントのオーバーライド) # CHRONICLE_GITHUB_HOST と同じ env var host: github.com # 指定されたラベルのいずれかの問題や PR は考慮されません # CHRONICLE_GITHUB_EXCLUDE_LABELS と同じ env var exclude-labels: - 重複 - 質問 - 無効 - 修正されません - 直らない - リリース無視 - 変更ログ無視 - 無視する # マージされた PR を変更ログ エントリの候補として考慮します (「github.changes」エントリの一致するラベルが必要です) # CHRONICLE_GITHUB_INCLUDE_PRS と同じ env var include-prs: true # クローズされた問題を変更ログ エントリの候補として考慮します (「github.changes」エントリの一致するラベルが必要です) 'github.changes' エントリ) # CHRONICLE_GITHUB_INCLUDE_ISSUES と同じ env var include-issues: true # マージされたリンクされた PR がある場合、問題は変更ログ候補に対してのみ考慮されます (注: github.include-issues を設定する必要はありません) # CHRONICLE_GITHUB_ISSUES_REQUIRE_LINKED_PRS と同じ env var issues-require-linked-prs: false # 変更ログ エントリを構成する問題または PR に適用されるラベルの定義のリスト。これらのエントリは、 # 変更ログのセクション、変更ログのタイトル、および変更のクラスを最もよく表す semver フィールドも指定します。 # 注: 環境変数の変更では設定できません: [...<エントリのリスト>...] # 詳細については、「デフォルトの GitHub 変更定義」セクションを参照してください。
github.changes
構成可能ファイルはマッピングのリストであり、各マッピングは次のフィールドを取ります。
name
: [文字列]単数形、小文字、ハイフン区切り (スペースなし) 変更を最もよく表す名前 (例: 「重大な変更」、「セキュリティ」、「追加機能」、「拡張」、「新機能」、等)。
title
: [文字列]すべてのエントリをリストする変更ログ内のセクションのタイトル。
semver-field
: [string]変更エントリは、次のリリース バージョンを推測するときに、それぞれの semver フィールドをバンプします。許容値: major
、 minor
、またはpatch
。
labels
: [文字列のリスト]この変更セクションに一致するすべての発行ラベルまたは PR ラベル。
github.changes
のデフォルト値は次のとおりです。
- 名前: セキュリティ修正 タイトル: セキュリティ修正 semver-field: パッチ ラベル: - 安全 - 脆弱性 - 名前: 追加された機能のタイトル: 追加された機能 semver-field: マイナー ラベル: - 強化 - 特徴 - 未成年者 - 名前: バグ修正タイトル: バグ修正 semver-field: パッチ ラベル: - バグ - 修理 - バグ修正 - パッチ - 名前: 重大な機能のタイトル: 重大な変更 semver-field: メジャー ラベル: - 壊れる - 下位互換性がない - 重大な変更 - 破壊機能 - 選考科目 - 名前: 削除された機能のタイトル: 削除された機能 semver-field: メジャー ラベル: - 削除されました - 名前: 非推奨の機能 タイトル: 非推奨の機能 semver-field: マイナー ラベル: - 非推奨- 名前: 不明 タイトル: 追加の変更点