Quick Install Guide

For general instructions on how to enable and configure an its plugin please refer to the general [configuration documentation][config-doc]. Instructions in this document are specific to the @PLUGIN@ plugin.

Install Steps:

  1. Check Storyboard REST API availability
  2. Connection Configuration.
  3. Verify access to Storyboard
  4. Associate Gerrit changes with Storyboard stories and tasks.
  5. Configure the actions that the plugin will take on a Gerrit change update.
  6. Install the plugin
  7. Enable the @PLUGIN@ plugin for the Gerrit project.
  8. Testing

Checking REST API availability

This plugin will connect to Storyboard via it's REST endpoints. Make sure that the Storyboard REST API is up and running.

Assuming the Storyboard instance you want to connect to is at http://my_storyboard_instance.com/, open

http://my_storyboard_instance.com/api/v1/systeminfo

in your browser. If you get a xml response page without errors, the REST interface is enabled.

If you get an error page then you'll need to enable the Storyboard REST API.

Connection Configuration

In order for the @PLUGIN@ plugin to connect to the REST service of your Storyboard instance, the url and credentials are required in your Gerrit site's etc/gerrit.config or etc/secure.config under the @PLUGIN@ section.

Example:

[@PLUGIN@]
  url=https://my_storyboard_instance.com
  password=STORYBOARD_USER_AUTH_TOKEN

Check Accessibility

This plugin uses the Storyboard REST endpoints to POST updates. Make sure that the STORYBOARD_USER_AUTH_TOKEN has access to update Storyboard stories and tasks. To verify this use the Storyboard story API from the Gerrit sever to post an update. If it fails to update the story you'll need to make the necessary changes to allow access between the Gerrit and Storyboard servers.

Associating Gerrit Changes

In order for the @PLUGIN@ plugin to associate a Gerrit change with a Storyboard story and task, a Gerrit commentlink needs to be defined in etc/gerrit.config

Example:

[commentlink "story"]
    match = "\\b[Ss]tory:? #?(\\d+)"
    link = "http://my_storyboard_instance.com/#!/story/$1"
    html = ""
[commentLink "@PLUGIN@"]
    match = "\\b[Tt]ask:? #?(\\d+)"
    link = "task: $1"
    html = ""

Configure its actions

The @PLUGIN@ plugin can take actions when there are updates to Gerrit changes. Users can define what events will trigger which actions. To configure this a etc/its/actions.config file is required.

Example of actions.config:

# Add a custom comment when a comment has been added to the associated Gerrit change.
[rule "update-comment"]
    event-type = comment-added
    action = add-velocity-comment inline $commenter-name commented on change ${its.formatLink($change-url, $subject)}

# add a comment only when a user leaves a -2 or a -1 vote on the Code-Review label on the associated Gerrit change.
[rule "comment-on-negative-vote"]
    event-type = comment-added
    approval-Code-Review = -2,-1
    action = add-comment Boo-hoo, go away!

# add a standard comment when there is a status update to the associated Gerrit change.
[rule "comment-on-status-update"]
    event-type = patchset-created,change-abandoned,change-restored,change-merged
    action = add-standard-comment

# set storyboard task status to 'review' when a patch is uploaded or when a change is restored
[rule "change-in-progress"]
    event-type = patchset-created,change-restored
    action = set-status REVIEW

*NOTE: A Gerrit restart is required to update these settings.

TaskStatus

Valid task status: TODO, REVIEW, INPROGRESS, MERGED, and INVALID

Install the Plugin

In order to install the @PLUGIN@ plugin simply copy the built jar file into the plugins folder.

Enable the Plugin

In order to enable the @PLUGIN@ plugin, an entry must be added to the project.config file in refs/meta/config. To enable the plugin for all projects a single entry can be added to project.config in All-Projects.

Example:

[plugin "@PLUGIN@"]
  enabled = true

Testing the Plugin

Create a new Gerrit change with a commit message that contains a reference to the Storyboard story and task.

Example:

My change to test integration

This is an example change to test storyboard integration.
Story: 123
Task: 1000
Change-Id: I3912f42c371023eb8bd048a5b17b776801b405e2

Make an update to the Gerrit change (abandone, restore, submit, etc..), the @PLUGIN@ plugin should automatically update the corresponding story and task in Storyboard.

SEE ALSO

  • More detailed information on actions is found in the [rules documentation][rules-doc]