Offizielle Plugins
Offizielle semrel-Plugins sind eigenständige Go-Binärdateien. Du konfigurierst sie über args: in .semrel.yaml, das semrel als Umgebungsvariablen SEMREL_PLUGIN_* verfügbar macht.
Du kannst Plugin-Geheimnisse auch aus einer .env-Datei laden – mit semrel --env-file .env release. Ein erfolgreiches Plugin beendet sich mit Status 0; jeder Exit-Code ungleich null stoppt die Pipeline.
Für die Migration von Updater-only-Flows auf Packager/Publisher-Pipelines nutze die Plugin-Migrationsanleitung.
Offizieller Plugin-Katalog
Abschnitt betitelt „Offizieller Plugin-Katalog“| Plugin | Kategorie | Beschreibung |
|---|---|---|
condition-generic | Condition | Führt einen Shell-Befehl aus und besteht nur, wenn dieser Befehl mit Status 0 endet. |
condition-gitea-actions | Condition | Bestätigt, dass die aktuelle Release innerhalb von Gitea Actions läuft. |
condition-github-actions | Condition | Bestätigt, dass die aktuelle Release innerhalb von GitHub Actions läuft. |
condition-gitlab-ci | Condition | Bestätigt, dass die aktuelle Release innerhalb von GitLab CI läuft. |
hook-email | Hook | Sendet nach einem semrel-Lauf Release-Benachrichtigungen per SMTP. |
hook-gitplugin | Hook | Überträgt Release-bezogene Änderungen in ein anderes Git-Repository oder eine andere Branch. |
hook-jira | Hook | Aktualisiert Jira-Release-Metadaten, nachdem semrel eine Version veröffentlicht hat. |
hook-matrix | Hook | Veröffentlicht Release-Benachrichtigungen in einem Matrix-Raum. |
hook-slack | Hook | Veröffentlicht Release-Benachrichtigungen in Slack über einen eingehenden Webhook. |
hook-teams | Hook | Sendet Release-Benachrichtigungen an Microsoft Teams über Incoming Webhooks. |
analyzer-conventional | Analyzer | Ermittelt den nächsten SemVer-Bump aus Conventional-Commit-Nachrichten. |
analyzer-default | Analyzer | Ermittelt den nächsten SemVer-Bump, indem Commit-Nachrichten mit regulären Ausdrücken abgeglichen werden. |
generator-changelog-html | Generator | Erzeugt einen HTML-Changelog für die anstehende Release. |
generator-changelog-md | Generator | Erzeugt einen Markdown-Changelog für die anstehende Release. |
generator-release-notes | Generator | Erstellt kompakte Release Notes aus dem aktuellen Release-Kontext und der Commit-Historie. |
updater-cargo | Updater | Aktualisiert das Versionsfeld in einem Rust-Cargo-Manifest. |
updater-docker | Updater | Aktualisiert ein Versionsargument in einer Dockerfile. |
updater-go | Updater | Aktualisiert eine Go-Quelldatei, die die Projektversion bereitstellt. |
updater-gradle | Updater | Aktualisiert den Versionsschlüssel in einer Gradle-Properties-Datei. |
updater-helm | Updater | Aktualisiert Chart-Metadaten in einer Helm-Chart.yaml-Datei. |
updater-homebrew | Updater | Aktualisiert eine Homebrew-Formula mit der neuen Release-URL und Prüfsumme. |
updater-maven | Updater | Aktualisiert die in einer Maven-pom.xml-Datei deklarierte Version. |
updater-npm | Updater | Aktualisiert das Versionsfeld in einer package.json-Datei. |
updater-nuget | Updater | Aktualisiert die Versionseigenschaft in einer .csproj- oder anderen NuGet-Projektdatei. |
updater-python | Updater | Aktualisiert Python-Paketversionsmetadaten in pyproject.toml oder einer ähnlichen Backend-Datei. |
updater-terraform | Updater | Aktualisiert eine Terraform-Variable, die die Anwendungsversion speichert. |
packager-nfpm | Packager | Baut Linux-Pakete (deb, rpm, apk) mit nFPM. |
publisher-docker | Publisher | Pusht ein vorhandenes lokales Docker-Image und meldet dessen unveränderlichen Digest. |
publisher-generic-http | Publisher | Lädt Release-Artefakte zu generischen HTTP-Endpunkten hoch. |
publisher-oci | Publisher | Veröffentlicht Release-Artefakte in OCI-Registries. |
provider-bitbucket | Provider | Veröffentlicht Release-Informationen aus dem semrel-Release-Kontext in Bitbucket. |
provider-git | Provider | Erstellt Git-Tags und überträgt optional Branch-Updates über das lokale Git-Remote. |
provider-gitea | Provider | Veröffentlicht Releases in einer Gitea-Instanz. |
provider-github | Provider | Veröffentlicht Releases in GitHub mit dem erzeugten semrel-Tag, der Version und dem Changelog. |
provider-gitlab | Provider | Veröffentlicht Releases in GitLab. |