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 its-storyboard plugin.
Install Steps:
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.
In order for the its-storyboard 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 its-storyboard
section.
Example:
[its-storyboard]
url=https://my_storyboard_instance.com
password=STORYBOARD_USER_AUTH_TOKEN
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.
In order for the its-storyboard 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 "its-storyboard"]
match = "\\b[Tt]ask:? #?(\\d+)"
link = "task: $1"
html = ""
The its-storyboard 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.
Valid task status: TODO, REVIEW, INPROGRESS, MERGED, and INVALID
In order to install the its-storyboard plugin simply copy the built jar file into the plugins
folder.
In order to enable the its-storyboard 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 "its-storyboard"]
enabled = true
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 its-storyboard plugin should automatically update the corresponding story and task in Storyboard.