Plugin: publisher-generic-http
Uploads release artifacts to custom HTTP endpoints via PUT or POST.
Installation
Section titled “Installation”semrel plugin install @semrel/generic-httpsemrel plugin install downloads the binary to .semrel/plugins/ and updates .semrel.lock. Commit .semrel.lock to pin the version for your team.
Configuration
Section titled “Configuration”version: 1plugins: - uses: @semrel/generic-http args: url: https://uploads.example.com/releases/{version}/{artifact} method: PUT token: ${UPLOAD_TOKEN} artifacts: dist/myapp-linux-amd64,dist/myapp-linux-arm64Environment Variables
Section titled “Environment Variables”| Name | Required | Default | Description |
|---|---|---|---|
SEMREL_PLUGIN_URL | yes | — | Upload URL template. Supports {version} and {artifact} tokens. |
SEMREL_PLUGIN_METHOD | no | PUT | HTTP method (PUT or POST). |
SEMREL_PLUGIN_TOKEN | no | — | Bearer token for authenticated uploads. |
SEMREL_PLUGIN_HEADERS_JSON | no | — | JSON object with additional HTTP headers. |
SEMREL_PLUGIN_ARTIFACTS | no | — | CSV list of artifact paths. |
SEMREL_PLUGIN_ARTIFACTS_JSON | no | — | JSON array of artifact paths. |
SEMREL_PLUGIN_ARTIFACT | no | — | Single artifact path fallback. |
Release Context Variables
Section titled “Release Context Variables”SEMREL_NEXT_VERSIONSEMREL_CURRENT_VERSIONSEMREL_TAG_NAMESEMREL_DRY_RUN
Behavior
Section titled “Behavior”For a 1.4.0 release and URL https://uploads.example.com/releases/{version}/{artifact}, each artifact is uploaded to a concrete URL such as https://uploads.example.com/releases/1.4.0/myapp-linux-amd64.