XebiaLabs Community Plugins

View on GitHub

Welcome to XebiaLabs Community plugins

This page describes how you can contribute to the XebiaLabs community plugins, where the continuous integration is located and what steps to follow to release your community plugin.

Join the xebialabs-community organization

Create a GitHub account, and request to join the organization by sending an email to jdewinne@xebialabs.com.

Fork a repo or generate a pull request

If you want to contribute to an existing repository, simply fork the repository, make your changes and send a pull request.
If you need help with this, you can contact for example the person who last committed to that repository.

License to be used

XebiaLabs requires each plugin to include the following license information:

THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS 
FOR A PARTICULAR PURPOSE. THIS CODE AND INFORMATION ARE NOT SUPPORTED BY XEBIALABS.

This can easily be done using the Gradle license plugin

plugins {
    id "com.github.hierynomus.license" version "0.12.1"
}

...

license {
    header rootProject.file('src/main/license/xebialabs_community.license')
    strictCheck true
}

Continuous Integration

Travis CI

XebiaLabs uses Travis CI for continuous integration. Go to Travis CI and log in with your GitHub account. After you log in, you’ll see the community plugins being built. The build configuration is located in the .travis.yml file in each repository. More information is available at the Travis CI documentation site.

Please also configure HipChat notifications as described here (TravisCI room) and GitHub releases as described here.

Circle CI

As an alternative you can also use Circle CI.

Use a gradle wrapper

Using a Gradle wrapper ensures that the same Gradle version is used (including on Travis CI). An example usage of a Gradle wrapper can be found in the xld-openshift-plugin repository. You can copy the example wrapper or create one yourself using gradle wrapper.

Release your plugin

Make sure you follow these steps

Rules to follow

Extra information