Plugins

Official plugins

    • Note: this is already part of semantic-release and does not have to be installed separately
    • analyzeCommits: Determine the type of release by analyzing commits with conventional-changelog​
    • Note: this is already part of semantic-release and does not have to be installed separately
    • generateNotes: Generate release notes for the commits added since the last release with conventional-changelog​
  • ​@semantic-release/github​
    • Note: this is already part of semantic-release and does not have to be installed separately
    • verifyConditions: Verify the presence and the validity of the GitHub authentication and release configuration
    • publish: Publish a GitHub release​
    • success: Add a comment to GitHub issues and pull requests resolved in the release
    • fail: Open a GitHub issue when a release fails
  • ​@semantic-release/npm​
    • Note: this is already part of semantic-release and does not have to be installed separately
    • verifyConditions: Verify the presence and the validity of the npm authentication and release configuration
    • prepare: Update the package.json version and create the npm package tarball
    • publish: Publish the package on the npm registry
  • ​@semantic-release/gitlab​
    • verifyConditions: Verify the presence and the validity of the GitLab authentication and release configuration
    • publish: Publish a GitLab release​
  • ​@semantic-release/git​
    • verifyConditions: Verify the presence and the validity of the Git authentication and release configuration
    • prepare: Push a release commit and tag, including configurable files
    • verifyConditions: Verify the presence and the validity of the configuration
    • prepare: Create or update the changelog file in the local project repository
  • ​@semantic-release/exec​
    • verifyConditions: Execute a shell command to verify if the release should happen
    • analyzeCommits: Execute a shell command to determine the type of release
    • verifyRelease: Execute a shell command to verifying a release that was determined before and is about to be published
    • generateNotes: Execute a shell command to generate the release note
    • prepare: Execute a shell command to prepare the release
    • publish: Execute a shell command to publish the release
    • success: Execute a shell command to notify of a new release
    • fail: Execute a shell command to notify of a failed release
  • ​@semantic-release/apm​
    • verifyConditions: Verify the presence of the ATOM_ACCESS_TOKEN environment variable and the apm CLI
    • prepare: Update the package.json version with npm version​
    • publish: Publish the Atom package​

Community plugins

​Open a Pull Request to add your plugin to the list.
    • verifyConditions: Verify that the environment variable SLACK_WEBHOOK has been defined.
    • success: Publish a message about the success to a slack channel.
    • fail: Optionally publish a message about failure to a slack channel.
  • ​semantic-release-docker​
    • verifyConditions: Verify that all needed configuration is present and login to the Docker registry.
    • publish: Tag the image specified by name with the new version, push it to Docker Hub and update the latest tag
    • verifyConditions: Verify that all needed configuration is present and login to the configured docker registry.
    • publish: Tag the image specified by name with the new version and channel and push it to the configured docker registry.
    • addChannel: Updates a release published on one channel with the destinations channel tag and pushes to the registry ie: next to latest.
  • ​semantic-release-gcr​
    • verifyConditions: Verify that all needed configuration is present and login to the Docker registry
    • publish: Tag the image specified by name with the new version, push it to Docker Hub and update the latest tag
  • ​semantic-release-vsce​
    • verifyConditions: Verify the presence and the validity of the vsce authentication and release configuration
    • prepare: Create a .vsix for distribution
    • publish: Publish the package to the Visual Studio Code marketplace
    • verifyConditions: Check the dependencies format against a regexp before a release
  • ​semantic-release-chrome​
    • verifyConditions: Verify the presence of the authentication (set via environment variables)
    • prepare: Write the correct version to the manifest.json and creates a zip file of the whole dist folder
    • publish: Uploads the generated zip file to the webstore, and publish the item
    • verifyConditions: Verify that all required options are present and authentication is set via environment variables
    • prepare: Write the correct version to the manifest.json
    • publish: Creates an unsigned .xpi file, and submits it to the Mozilla Add On store for signing. Once the package is signed, downloads the signed .xpi to a local directory
  • ​semantic-release-gerrit​
    • generateNotes: Generate release notes with Gerrit reviews URL
  • ​semantic-release-expo​
    • verifyConditions: Verify Expo manifest(s) are readable and valid.
    • prepare: Update version, ios build number and android version code in the Expo manifest(s).
  • ​maven-semantic-release​
    • verifyConditions: Verifies that the pom.xml file and other files exist and are setup to allow releases
    • verifyRelease: Checks and warns (does not error by default) if the version numbers found on maven central and within the Git project differ by quite a bit
    • prepare: Changes the version number in the pom.xml (or all pom.xml files in maven projects with multiple pom.xml files) and optionally creates a commit with this version number and pushes it to master
    • publish: Runs mvn deploy to deploy to maven central and optionally will update to next snapshot version and merge changes to development branch
  • ​semantic-release-ado​
    • prepare: Stores the version number as an Azure DevOps pipeline variable availabe to downstream steps on the job
  • ​gradle-semantic-release​
    • verifyConditions: Verify that project has a Gradle wrapper script, and build.gradle contains a task to publish artifacts.
    • prepare: Changes the version number in the gradle.properties
    • publish: Triggers Gradle to publish artifacts.
    • verifyConditions: Verify the presence of the CIRCLECI_API_TOKEN environment variable, orbName option, and the circleci CLI.
    • publish: Publish the CircleCI orb.
    • verifyConditions: Verify the presence of the auth token set via environment variables.
    • publish: Pushes commit to the documentation branch.
    • verifyConditions: Verify the presence and the validity of the GitHub authentication and other configuration.
    • publish: Create a branch to upload all assets and create the pull request on the base branch on GitHub.
    • verifyConditions: Checks the project.clj is syntactically valid.
    • prepare: Update the project.clj version and package the output jar file.
    • publish: Publish the jar (and generated Maven metadata) to a maven repository (or clojars).
    • verifyConditions: Verify the presence and the validity of the authentication and the assets option configuration.
    • publish: Publish a Gitea release, optionally uploading file assets.
    • addChannel: Update a Gitea release's pre-release field.
    • prepare: Replace version strings in files using regex and glob.
  • ​semantic-release-rubygem​
    • verifyConditions: Locate and validate a .gemspec file, locate and validate a lib/**/version.rb file, verify the presence of the GEM_HOST_API_KEY environment variable, and create a credentials file with the API key.
    • prepare: Update the version in the lib/**/version.rb version file and build the gem.
    • publish: Push the Ruby gem to the gem server.
    • verifyConditions: Validates configuration.
    • publish: Deprecates old versions, based on the declaration of supported versions in the config.
    • Note: this is a thin wrapper around the built-in npm plugin that can target multiple registries
    • verifyConditions: Verify the presence and the validity of the npm authentication and release configuration for multiple registries
    • prepare: Update the package.json version and create the npm package tarball
    • publish: Publish the package on the npm registry for multiple registries
  • ​semantic-release-license Automatically update dates and more in your license file for new releases.
    • verifyConditions: Verify the presence of a license file
    • prepare: Update the license file based on its type
  • ​semantic-release-pypi​
    • verifyConditions: Verify the environment variable PYPI_TOKEN and installation of build tools
    • prepare: Update the version in setup.cfg and create the distribution packages
    • publish: Publish the python package to a repository (default: pypi)
  • ​semantic-release-helm​
    • verifyConditions: Validate configuration and (if present) credentials
    • prepare: Update version and appVersion in Chart.yaml
    • publish: Publish the chart to a registry (if configured)
    • verifyConditions: Validate configuration, get AWS CodeArtifact authentication and repository, validate publishConfig or .npmrc (if they exist), then pass the configuration to the associated plugins.
    • verifyConditions: Validate configuration and verify TELEGRAM_BOT_ID and TELEGRAM_BOT_TOKEN
    • success: Publish a message about the successful release to a telegram chat
    • fail: publish a message about failure to a telegram chat
  • ​semantic-release-heroku​
    • verifyConditions: Validate configuration and verify HEROKU_API_KEY
    • prepare: Update the package.json version and create release tarball
    • publish: Publish version to heroku
    • verifyConditions: Verify that the webhook is setup and release-notes-generator is present.
    • success: Send a message about the new release and its notes to a mattermost webhook.
    • verifyConditions: Verify github tokens are present and valid.
    • verifyRelease: Display information regarding the matching github milestone.
    • verifyConditions: Validate configuration and verify TELEGRAM_BOT_TOKEN and package name
    • success: Publish a success message to certain telegram chats
    • fail: Publish a fail message to certain telegram chats
    • publish: Automatically mark old versions as deprecated.
    • verifyConditions: Verify plugin configuration and login to Helm registry
    • prepare: Package Helm chart to local folder
    • publish: Publish Helm chart to OCI registry
Last modified 18d ago
Copy link
Edit on GitHub