# SCM Plugins
SCM Plugins come in two flavors:
- Allows exporting Job changes.
- Allows importing Job changes.
The two types can be combined or used separately.
Each Project can enable a single
This is done in the SCM Configuration page in the Rundeck GUI.
Alternately, you can use the Rundeck API - SCM.
SCM Configuration for a project is not stored in the
# Java Plugin Type
- Note: Refer to Java Development for information about developing a Java plugin for Rundeck.
The plugin interface is ScmExportPluginFactory (opens new window). This factory type should produce a ScmExportPlugin (opens new window) object.
The plugin interface is ScmImportPluginFactory (opens new window). This factory type should produce a ScmImportPlugin (opens new window) object.
For the basics of plugin localization see: Plugin Development - Plugin Localization.
# Message Codes
In addition to the basic plugin message codes, SCM Plugins can have multiple "input views" with a set of properties, as well as a set of "setup" properties. The codes for these properties can be defined in your "messages.properties" file using the following patterns:
setup.property.NAME.titleTitle for setup property named "NAME"
setup.property.NAME.descriptionDescription for setup property named "NAME"
action.ID.titleTitle for action view with ID "ID"
action.ID.descriptionDescription for action view with ID "ID"
action.ID.buttonTitleButton Title for action view with ID "ID"
action.ID.property.NAME.titleTitle for property named "NAME" for action view with ID "ID"
action.ID.property.NAME.descriptionDescription for property named "NAME" for action view with ID "ID"
The Git Plugin bundled with rundeck provides an example.