VersionOne Integration for TeamCity

Introduction

Contents

Description

The VersionOne TeamCity Notifier creates a record of TeamCity 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 TeamCity Notifier 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 Notifier creates a BuildRun asset in VersionOne with details of the build. If the build comment contains VersionOne Story or Defect Identifiers, the Notifier will create or reuse a VersionOne change-set and relate the build with the appropriate Story or Defect.

Using this integration you can better address the following situations:

The following sequence diagram illustrates the VersionOne TeamCity Notifier behavior.

System Requirements

VersionOne:

Integration Server Operating System:

Continuous Integration Server:

Downloads

The latest version of the VersionOne Integration for TeamCity is available in the VersionOne App Catalog.

Installation

These instructions presume that TeamCity is already installed, configured, and working properly.

  1. Ensure Connectivity
    Verify that you can connect to your VersionOne instance from the machine hosting TeamCity
  2. Extract Files
    Download the TeamCity integration 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 TeamCity configuration.
  3. Configure
    1. Configure VersionOne
    2. Configure TeamCity
  4. Verify the installation
    Once configuration is complete use the following steps to verify that the build integration is working
    1. Navigate to your TeamCity instance
    2. Force a build on the project you configured
    3. Wait for build to complete
    4. Navigate to your VersionOne instance
    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

Configure VersionOne

If you are using Team Edition, you need to manually create the Build Project. Instructions for doing this are available on the VersionOne Community Site.
  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.
  4. Navigate to the Admin | Projects | Build Project page
  5. Click Add to add a new Build Project
  6. Specify the following
    • Name - this is how the Build Project will be known to VersionOne users
    • Reference - this is how the Build Project is known to TeamCity
  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.
  11. Click Ok to accept the changes
  12. Logout

Configure TeamCity

This section describes how to configure TeamCity for use with VersionOne

  1. On your TeamCity server, copy the downloaded package into the "plugins" subdirectory located in your TeamCity Data directory. You can determine the Team City Data directory by viewing the Server Configuration page.
  2. Rename the file to TeamCityNotificator.zip
  3. Restart the TeamCity application server for the changes to take effect
  4. Open a browser and navigate to your TeamCity URL
  5. Login as a TeamCity Administrator
  6. Navigate to the "Administration" page
  7. Click the "Edit server configuration" link
  8. Locate the "VersionOne Integration Settings" and click on the "Edit settings" link
  9. Configure the integration setting based on the following table
    Parameter Description Required
    Server URL The URL of the VersionOne Application. True
    Username Valid VersionOne Username. True
    Password Password for the specified Username True
    Reference Field The system name of an attribute to search when matching primary workitems (stories and defects) with change comments.
    * See note below
    True
    Comment RegEx The regular expression to use when matching primary workitems (stories and defects) with change comments.
    * See note below
    True
    Use fully qualified build names Determines how the integration looks for Build Projects in VersionOne.
    * If not checked, the integration uses only the TeamCity Project name.
    * If checked, the integration uses the TeamCity Project name and build configuration name in the format {Project} :: {Configuration} (Note there must be a space on either side of the :: operator).
    True
    Use Proxy Determines if the integrations connects to VersionOne through a proxy. No, unless you have a proxy
    Proxy URI URL to proxy server Yes, when using a proxy
    Proxy user Username for proxy server Yes, when using a proxy
    Proxy password Password for proxy user Yes, when using a proxy
    It is recommended that you do not change the "Reference Field" or "Comment RegEx" fields. The "Reference Field" is the system name of the attribute to search when matching the ID in change comments with workitems in VersionOne. The "Comment RegEx" is used to extract workitem identifiers from the change comments.
  10. Click "Test Connection" to verify that you can connect to VersionOne.
  11. Click "Save"