SCM

Purpose of this Module Type

An SCM plugin module gives Crucible the ability to work with a custom version control system that is not supported out of the box.

Configuration

The root element for the SCM plugin module is scm. It allows the following attributes and child elements for configuration:

Attributes

Name

Description

class

The SCM module Java class. Must implement com.atlassian.crucible.scm.SCMModule.

Required: Yes

Default: N/A

key

The identifier of the SCM module.

Required: Yes

Default: N/A

name

The human-readable name of the SCM module.

Required: Yes

Default: The plugin key

Elements

Name

Description

description

The description of the SCM module.

Required: -

Default: -

Example

Here's a complete atlassian-plugin.xml containing an SCM module.

Note that an SCM module is very likely to specify a configure.url and to contain a configuration servlet.

1
2
<atlassian-plugin key="${atlassian.plugin.key}" name="crucible-git-scm-plugin" pluginsVersion="2">
    <plugin-info>
        <description>An SCM provider for Git</description>
        <vendor name="Atlassian Software Systems" url="http://www.atlassian.com"/>
        <version>1.0-SNAPSHOT</version>
        <param name="configure.url">/plugins/servlet/gitscm</param>
    </plugin-info>

    <scm name="Git Light SCM" key="scmprovider" class="com.atlassian.crucible.plugins.scm.git.GitSCMModule">
        <description>SCM implementation for Git</description>
    </scm>

    <servlet name="Git Configuration Servlet" key="configservlet"
             class="com.atlassian.crucible.plugins.scm.git.GitConfigServlet" adminLevel="system">
        <description>Allows Configuration of Git SCM Plugin</description>
        <url-pattern>/gitscm</url-pattern>
    </servlet>
</atlassian-plugin>

Notes

See the Crucible SCM Plugin Tutorial to learn how to develop an SCM module plugin.

Rate this page: