XL Release GitHub plugin is deprecated now as the plugin is insourced to Digital.ai organization. The plugin is available on https://github.com/xebialabs/xlr-github-plugin
This document describes the functionality provided by the XL Release GitHub plugin.
See the XL Release reference manual for background information on XL Release and release automation concepts.
The xlr-github-plugin
is an XL Release plugin that allows you to integrate with GitHub.
- XL Release Server 7+
You can use the gradle wrapper to build the plugin.
./gradlew clean assemble
To install this plugin you need to put the jar file into XL_RELEASE_SERVER_HOME/plugins
and restart XL Release:
xlr-github-plugin-<version>.jar
(you can find it inxlr-github-plugin/build/libs/
once you build it),
Restart the XL Release server after installing the JAR files.
Users can choose a variety of authentication methods, and based on the method chosen, a subset of the configuration fields will need to be filled out. The most common approach would be using an authentication token in the "Login or token" field. This token is generated within the GitHub GUI, and the defined scopes for the token should match up with what you intend to orchestrate through XL Release. For the base url, the API version should be specified - something like https://github.example.com/api/v3 for GitHub Enterprise customers running on their own domain. Client ID and Client Secret are fields for an alternative authentication method - these can be left blank in the case of token authentication.
The User Agent, Per Page, and API Preview fields should be left at their default value for users getting started with the plugin. These settings enable additional control over API calls.
This project uses the nebula-release-plugin, which in turn uses gradle-git plugin. So you can release a new version if this project using following commands:
- to release a new patch (default):
./gradlew final -Prelease.scope=patch
- to release a new minor release:
./gradlew final -Prelease.scope=minor
- to release a new major release:
./gradlew final -Prelease.scope=major
By default gradle uses the last tag created, so in order to bypass that include -Prelease.useLastTag=false
in your gradle task.
By default when you build the project it builds a snapshot version of next (to be released) minor release. You can get rid of -SNAPSHOT
in the version by adding command-line parameter -Prelease.stage=final
. Note that your Git project must be clean to be able to set version to final
stage.