Offizieller Plugin-Katalog (46 Plugins) — Updater, Publisher, Provider & Hooks
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-bitbucket-pipelines | Condition | Bestätigt, dass das aktuelle Release innerhalb von Bitbucket Pipelines läuft. |
condition-circleci | Condition | Bestätigt, dass das aktuelle Release innerhalb von CircleCI läuft. |
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 das aktuelle Release in GitHub Actions läuft (inkl. GHES & Data Residency). |
condition-gitlab-ci | Condition | Bestätigt, dass die aktuelle Release innerhalb von GitLab CI läuft. |
hook-discord | Hook | Veröffentlicht Release-Embeds inklusive Contributor-Ehrungen über einen Discord-Webhook. |
hook-email | Hook | Sendet nach einem semrel-Lauf Release-Benachrichtigungen per SMTP. |
hook-exec | Hook | Führt benutzerdefinierte Shell-Befehle in jeder semrel-Plugin-Phase aus. |
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-composer | Updater | Aktualisiert das Versionsfeld in einer PHP-composer.json-Datei (Opt-in). |
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 package.json (und optional package-lock.json). |
updater-nuget | Updater | Aktualisiert die Versionseigenschaft in einer .csproj- oder anderen NuGet-Projektdatei. |
updater-pubspec | Updater | Aktualisiert das Versionsfeld in pubspec.yaml für Dart- und Flutter-Projekte. |
updater-python | Updater | Aktualisiert Python-Paketversionsmetadaten in pyproject.toml oder einer ähnlichen Backend-Datei. |
updater-replace | Updater | Ersetzt reguläre Ausdrücke oder wörtlichen Text in beliebigen Projektdateien. |
updater-terraform | Updater | Aktualisiert eine Terraform-Variable, die die Anwendungsversion speichert. |
updater-zig | Updater | Aktualisiert das oberste .version-Feld in einem Zig-build.zig.zon-Manifest. |
packager-nfpm | Packager | Baut Linux-Pakete (deb, rpm, apk) mit nFPM. |
publisher-crates | Publisher | Veröffentlicht Rust-Crates auf crates.io mit cargo publish. |
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-npm | Publisher | Veröffentlicht Pakete in der npm-Registry mit automatischer npm/pnpm/yarn-Erkennung und Provenance. |
publisher-oci | Publisher | Veröffentlicht Release-Artefakte in OCI-Registries. |
publisher-pypi | Publisher | Baut und veröffentlicht Python-Distributionen auf PyPI oder TestPyPI mittels build und twine. |
provider-bitbucket | Provider | Veröffentlicht Release-Informationen in Bitbucket und kommentiert enthaltene PRs. |
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 und kommentiert enthaltene PRs. |
provider-github | Provider | Veröffentlicht Releases auf GitHub (und GHES) und kommentiert enthaltene PRs. |
provider-gitlab | Provider | Veröffentlicht Releases in GitLab und kommentiert enthaltene Merge Requests. |