Skip to main content

 

 
Go Search
Home
Quick Start
User Guide
Knowledge Base
Training
Discussions
Downloads
Platform
   IdeaSpace

 
 
VersionOne Community > Downloads > Integration Documentation > CruiseControl
 

VersionOne CruiseControl Integration


Description

The VersionOne CruiseControl integration creates a record of CruiseControl builds in VersionOne, so the development teams can associate stories and defects to a particular build. This visibility is useful when identifying problem builds or generating release notes.

Once the VersionOne Publisher has been installed, team members include a VersionOne identifier , such as “S-01454” or "TK-01234", in the comments of their SCM commit . Every time a build executes the publisher creates a BuildRun asset in VersionOne with details of the build. If the build comment contains story or defect IDs, the publisher will also create or reuse change-sets assets in VersionOne and assoicates the build with the appropriate story or defect.

Using this integration you can better answer the following questions:

  • For Defects

    • Which build the defect was reported against?

    • Which build contained the fix for the defect?

    • Which builds contain work for the defect?

  • For Stories (Backlog Item)

    • Which builds contain work for the story?

    • Which build contained the completed story?

  • For Build Runs

    • Which defects were fixed?

    • Which stories were completed?

    • Which defects were introduced?

    • When work for a story or defect was included?

    • Which Change-sets were included?

  • For a range of Build Runs

    • Which stories were completed?

    • Which defects were fixed?

    • Which defects were introduced?

System Requirements

VersionOne: 8.1 or above

Integration Server:

  • Operating System—Windows 2000, 2003

Continous Integration Server:

  • CruiseControl Version 2.7.3 - 2.8.2

Downloads

The latest version of V1Publisher is available at V1: Integration Downloads.

Installation

These installation instructions assume that CruiseControl is already installed, configured, and working properly.

1. Ensure Connectivity

Verify that you can connect to your VersionOne instance from the machine hosting CruiseControl

2. Extract Files

Download VersionOne publisher using the link above and extract it into a folder of your choice. This can be a temporary location since we will copy some of these files during CruiseControl configuration.

3. Configure

Configuration for Build Integration is a 2 step process.

4. Verify the integration

Once configuration is complete use the following steps to verify that the build integration is working

  1. Navigate to CruiseControl

  2. Force a build on the project you configured

  3. Wait for build to complete

  4. Navigate to VersionOne

  5. Login

  6. Select VersionOne project in 'My Projects' dropdown

  7. Navigate to the Reports | Reports Overview page

  8. Select the "Build Run Quicklist" Report

You should see an entry in the grid for the build you forced. If not, verify your configuration.

Configuration

VersionOne Configuration

  1. Log into the VersionOne application as admin

  2. Navigate to the Admin | Configuration | System page.

  3. Check the “Enable Build Integration” checkbox and click the Apply button.

    Figure 1.


  4. Navigate to the Admin | Projects | Build Project page

    Figure 2.


  5. Click Add to add a new Build Project

  6. Specify the following

    1. Name – this is how the Build Project will be known to VersionOne users

    2. Reference – this is how the Build Project is known to Cruise Control

  7. Click Ok to save the new Build Project

  8. Navigate to the Admin | Projects | Projects page

  9. Click Edit on the row for the project you want associated with a Build Project

  10. Using the “Build Projects” dropdown add the appropriate Build Project.

    Figure 3.


  11. Click Ok to accept the changes

  12. Logout

CruiseControl Configuration

This section describes how to configure CruiseControl for use with VersionOne

  1. Copy the following files from the downloaded package into the CruiseControl lib directory

    • V1Publisher.jar

    • VersionOne.APIClient.jar

    • VersionOne.ObjectModel.jar

  2. Register the VersionOne plugin by adding the following line to config.xml

    		<plugin name="VersionOnePublisher" classname="com.versionone.cruisecontrol.publisher.VersionOnePublisher"/>
    

    This registration can occur directly under the <cruisecontrol> element, or within the selected <project> element.

  3. Add the VersionOne publisher to the list of publishers for the select <project> elements in config.xml

    <publishers>
    	<VersionOnePublisher url="http://V1Host/VersionOne/" username="admin" password="admin" webroot="http://CCHost/ccnet" referenceexpression="[A-Z]{1,2}-[0-9]+" referencefield="Number"/>
    	<onsuccess>
    		<artifactspublisher dest="..." file="..."/>
    	</onsuccess>			
    </publishers>
  4. Use the following table to configure the VersionOne Publisher

    Table 1.

    Node Description Type Required Default
    url The URL of the VersionOne Application. For example: http://server/VersionOne/ String True
    username The username to authenticate with. This field is optional if using NT Auth (integrated auth). Required when using VersionOne authentication. String (varies)
    password The password to authenticate with. This field is optional if using NT Auth (integrated auth). Required when using VersionOne authentication. String (varies)
    webroot The root of the URL used for linking to build logs. For example: http://localhost/ccnet/ String False Null
    server The "BuildServer" portion of the URL used for linking to build logs. For example: http://localhost/ccnet/server/{BuildServer}/project/... String False "local"
    referenceexpression The regular expression to use when matching primary workitems (stories and defects) with change comments. Required when using changeset integration. String (varies) Null
    referencefield The system name of an attribute to search when matching primary workitems (stories and defects) with change comments. Required when using changeset integration. String (varies) Nulll


    Note

    When VersionOne is configured for integrated authentication, you need to set the username and password fields to blank and ensure that CruiseControl is running under an account that has access to VersionOne.

Here's an explanation of the VersionOne publisher illustrated above:

Table 2.

The VersionOne URL is http://V1Host/VersionOne/
The CruiseControl URL is http://CCHost/ccnet
The publisher will login into VersionOne as admin
When searching CruiseControl comments to determine if it contains a VersionOne Workitem, the publisher will use the regular expression "[A-Z]{1,2}-[0-9]+”
If a Workitem identifier is found, the publisher will attempt to match this information to the VersionOne Workitem attribute Number


Copyright © 2008, VersionOne, Inc. All rights reserved. This document was generated 2008-11-20 11:23:11.