Plugin: generator-changelog-md
import { Aside } from ‘@astrojs/starlight/components’;
Erzeugt ein erweitertes Markdown-CHANGELOG.md mit Commit-Gruppierung, PR/Commit-Verlinkung, Contributor-Sektionen und optionaler Eintrags-Archivierung. Als Ersatz für semrels eingebauten Changelog-Writer verwenden, wenn ein reichhaltigeres Format gewünscht wird.
Installation
Abschnitt betitelt „Installation“semrel plugin install @semrel/generator-changelog-mdsemrel plugin install lädt die Binary nach .semrel/plugins/ herunter und aktualisiert .semrel.lock. .semrel.lock committen, um die Version für das Team zu pinnen.
Konfiguration
Abschnitt betitelt „Konfiguration“commit_changelog: false # eingebauten Schreiber überspringen; Plugin übernimmt CHANGELOG.md
plugins: - uses: @semrel/condition-gitlab-ci phase: condition
- uses: @semrel/generator-changelog-md phase: pre-tag # muss pre-tag sein — läuft vor dem Tag, wird von semrel auto-committed args: keep_releases: "10" # 10 vollständige Einträge behalten; ältere werden zusammengefasst signature: "true" # optionaler semrel.io-Footer, explizit opt-in
- uses: @semrel/provider-gitlabWie es funktioniert
Abschnitt betitelt „Wie es funktioniert“- semrel berechnet die Release-Version und sammelt Commits (
SEMREL_CHANGELOGenv var). - Das
generator-changelog-md-Plugin empfängtSEMREL_CHANGELOGund schreibt ein erweitertesCHANGELOG.mddirekt auf die Disk (keep_releases > 0erforderlich). - semrel committed automatisch alle geänderten, getrackte Dateien (inkl.
CHANGELOG.md) bevor der Git-Tag erstellt wird. - Der Tag zeigt auf den Commit mit dem erweiterten Changelog.
Umgebungsvariablen
Abschnitt betitelt „Umgebungsvariablen“| Name | Pflicht | Standard | Beschreibung |
|---|---|---|---|
SEMREL_PLUGIN_KEEP_RELEASES | Ja (für Disk-Write) | 0 | Anzahl voll expandierter Einträge. 0 = nur stdout, nichts auf Disk geschrieben. |
SEMREL_PLUGIN_TEMPLATE | nein | eingebaut | Pfad zu einem eigenen Go-Template. |
SEMREL_PLUGIN_MAX_COMMITS | nein | 100 | Maximale Anzahl enthaltener Commits. |
SEMREL_PLUGIN_GROUP_BY_TYPE | nein | true | Commits nach Conventional-Commit-Typ gruppieren. |
SEMREL_PLUGIN_LINK_PRS | nein | true | (#123) PR-Referenzen verlinken. |
SEMREL_PLUGIN_LINK_COMMITS | nein | true | 40-Zeichen-Commit-SHAs verlinken. |
SEMREL_PLUGIN_SIGNATURE | nein | false | Hängt optional einen Footer mit Link auf https://semrel.io an den generierten Release-Eintrag an. |
SEMREL_PLUGIN_AI_DISCLOSURE | nein | false | Erkennt KI-Co-Autoren-Trailer (z.B. Co-authored-by: Copilot) und hängt ein Badge an jede KI-unterstützte Commit-Zeile. |
SEMREL_PLUGIN_AI_DISCLOSURE_BADGE | nein | 🤖 | Badge, der an KI-unterstützte Zeilen angehängt wird. Für Plaintext-Umgebungen [AI] verwenden. |
SEMREL_PLUGIN_AI_DISCLOSURE_SECTION | nein | false | Hängt einen aufklappbaren 🤖 KI-unterstützte Beiträge-Abschnitt an (erfordert SEMREL_PLUGIN_AI_DISCLOSURE=true). |
SEMREL_PLUGIN_CHANGELOG_FILE | nein | CHANGELOG.md | Ausgabedateipfad. |
Wenn SEMREL_PLUGIN_SIGNATURE=true, endet der generierte Markdown-Eintrag mit:
---*Generated by [semrel.io](https://semrel.io)*