PlasticSCM

Plastic SCM Logo

Retrieve and manage your Plastic SCM sources from Jenkins.


Plugin Version Build Status Installs

Overview

Plastic SCM is a scalable, engine-agnostic version control and source code management tool for game development studios of all sizes. It offers optimized workflows for artists and programmers and superior speed working with large files and binaries.

This plugin integrates Plastic SCM with Jenkins, allowing you to retrieve and manage your Plastic SCM sources from Jenkins projects and pipelines. It also provides a way to automatically download and install the Plastic SCM client (cm) in the controller or agent machines.

How to use the plugin

Installing the Plastic SCM client

The Plastic SCM plugin for Jenkins requires a working cm client to be present in the controller or agent machines. If it's not, the plugin provides a way for the machines to automatically download and install the client.

You can find out more about how to configure the Plastic SCM client in Jenkins in the External Tool Configuration guide.

Standalone mode

The Plastic SCM plugin for Jenkins can be used in standalone mode. This behaves as a regular SCM plugin, where the project configuration defines which repository to use and the credentials to connect to it. The plugin will then download the sources to the workspace.

You can find out more about how to configure the Plastic SCM plugin in standalone mode in the Standalone mode guide.

Mergebot mode

The Plastic SCM plugin for Jenkins can be used in Mergebot mode. This mode is intended to be used in conjunction with the Plastic SCM Mergebot feature.

A Mergebot will trigger a CI build, which will be requested to Jenkins via a Plug. The targeted Jenkins project will need to have the Plastic SCM plugin configured in Mergebot mode. The plugin will then download the sources to the workspace, taking the required spec from a build parameter.

You can find out more about how to configure the Plastic SCM plugin in Mergebot mode in the Mergebot mode guide.

Build information

Summary

The build summary includes a reference to the Plastic SCM changeset spec that was built.

Build summary

Changes list

The changes page in each build will have details about each of the changesets that were included in the build, linked from the summary list.

Changes summary

Plastic SCM Build Data

You'll find a link in the build page sidebar to display the Plastic SCM data for that build.

Build data

Requirements

  • Jenkins 2.440.3 (2024-04-17) or newer
  • Plastic SCM command line client 10.0.16.6112 or newer

Upgrades

Upgrading from 3.x to 4.x

There are no incompatibilities in configuration from version 3.x to version 4.x. The latter adds support in project/pipeline configurations to specify a Plastic SCM working mode and credentials.

By default, new or existing projects will use the default credentials for cm as configured in the controller or agent machines. This means that upgrading will keep the same behaviour as you had in the previous version.

Upgrading from 2.x to 3.x

The upgrade process is mostly seamless. You'll only need to review the configuration parameters of your jobs if you configured them to use multiple workspaces. Since the subdirectory name was inferred from the workspace name before and that parameter is now gone, the Subdirectory parameter (used now to specify the subdirectory name explicitly) will be empty. Builds might download all workspaces in the same directory!

Development

Building the Plugin

To build the plugin you will need:

Run the following command to build the plugin:

mvn package

Contributing to the Plugin

New feature requests and bug fix proposals should be submitted as pull requests. Fork the repository. Make the desired changes in your forked copy. Submit a pull request to the master branch.

Use the Jenkins SCM API coding style guide for new code.

Before submitting a pull request please check if your code passes code quality and style checks by running:

mvn verify

All pull requests will be evaluated by Jenkins CI.

Plugin information

This plugin is developed and maintained by Unity Software, owner of the Plastic SCM product.

Visit us at https://unity.com/solutions/version-control.

We really appreciate PR and contributions!

Change log

You can find it here