Zum Inhalt springen

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.

PluginKategorieBeschreibung
condition-genericConditionFührt einen Shell-Befehl aus und besteht nur, wenn dieser Befehl mit Status 0 endet.
condition-gitea-actionsConditionBestätigt, dass die aktuelle Release innerhalb von Gitea Actions läuft.
condition-github-actionsConditionBestätigt, dass die aktuelle Release innerhalb von GitHub Actions läuft.
condition-gitlab-ciConditionBestätigt, dass die aktuelle Release innerhalb von GitLab CI läuft.
hook-emailHookSendet nach einem semrel-Lauf Release-Benachrichtigungen per SMTP.
hook-gitpluginHookÜberträgt Release-bezogene Änderungen in ein anderes Git-Repository oder eine andere Branch.
hook-jiraHookAktualisiert Jira-Release-Metadaten, nachdem semrel eine Version veröffentlicht hat.
hook-matrixHookVeröffentlicht Release-Benachrichtigungen in einem Matrix-Raum.
hook-slackHookVeröffentlicht Release-Benachrichtigungen in Slack über einen eingehenden Webhook.
hook-teamsHookSendet Release-Benachrichtigungen an Microsoft Teams über Incoming Webhooks.
analyzer-conventionalAnalyzerErmittelt den nächsten SemVer-Bump aus Conventional-Commit-Nachrichten.
analyzer-defaultAnalyzerErmittelt den nächsten SemVer-Bump, indem Commit-Nachrichten mit regulären Ausdrücken abgeglichen werden.
generator-changelog-htmlGeneratorErzeugt einen HTML-Changelog für die anstehende Release.
generator-changelog-mdGeneratorErzeugt einen Markdown-Changelog für die anstehende Release.
generator-release-notesGeneratorErstellt kompakte Release Notes aus dem aktuellen Release-Kontext und der Commit-Historie.
updater-cargoUpdaterAktualisiert das Versionsfeld in einem Rust-Cargo-Manifest.
updater-dockerUpdaterAktualisiert ein Versionsargument in einer Dockerfile.
updater-goUpdaterAktualisiert eine Go-Quelldatei, die die Projektversion bereitstellt.
updater-gradleUpdaterAktualisiert den Versionsschlüssel in einer Gradle-Properties-Datei.
updater-helmUpdaterAktualisiert Chart-Metadaten in einer Helm-Chart.yaml-Datei.
updater-homebrewUpdaterAktualisiert eine Homebrew-Formula mit der neuen Release-URL und Prüfsumme.
updater-mavenUpdaterAktualisiert die in einer Maven-pom.xml-Datei deklarierte Version.
updater-npmUpdaterAktualisiert das Versionsfeld in einer package.json-Datei.
updater-nugetUpdaterAktualisiert die Versionseigenschaft in einer .csproj- oder anderen NuGet-Projektdatei.
updater-pythonUpdaterAktualisiert Python-Paketversionsmetadaten in pyproject.toml oder einer ähnlichen Backend-Datei.
updater-terraformUpdaterAktualisiert eine Terraform-Variable, die die Anwendungsversion speichert.
packager-nfpmPackagerBaut Linux-Pakete (deb, rpm, apk) mit nFPM.
publisher-dockerPublisherPusht ein vorhandenes lokales Docker-Image und meldet dessen unveränderlichen Digest.
publisher-generic-httpPublisherLädt Release-Artefakte zu generischen HTTP-Endpunkten hoch.
publisher-ociPublisherVeröffentlicht Release-Artefakte in OCI-Registries.
provider-bitbucketProviderVeröffentlicht Release-Informationen aus dem semrel-Release-Kontext in Bitbucket.
provider-gitProviderErstellt Git-Tags und überträgt optional Branch-Updates über das lokale Git-Remote.
provider-giteaProviderVeröffentlicht Releases in einer Gitea-Instanz.
provider-githubProviderVeröffentlicht Releases in GitHub mit dem erzeugten semrel-Tag, der Version und dem Changelog.
provider-gitlabProviderVeröffentlicht Releases in GitLab.