Skip to main content

 

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

 
 
VersionOne Community > Downloads > Integration Documentation > QualityCenter
 

VersionOne Quality Center Integration


Description

The VersionOne Quality Center Integration (V1QualityCenter) allows an organization to leverage its investment in Quality Center as part of an integrated platform for agile development. This integration affords agile teams the ability to:

  • Create Test in Quality Center from Test defined in VersionOne

  • Update the status of a VersionOne Test from the corresponding Quality Center Test

  • Create Defects in VersionOne from Defects in Quality Center

  • Mark Quality Center Defects as Fixed when the corresponding VersionOne Defect is closed

System Requirements

  • Operating System — Windows 2003, 2008

  • Framework — Microsoft .Net 2.0 SP1

  • VersionOne — Release 8.3 and above

  • Quality Center — Release 9.1.0.4353 — 9.2.0.4862

Downloads

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

Installation

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

1. Determine Install Location

V1QualityCenter can be installed on any server with access network access to both your VersionOne installation and Quality Center. Exact placement should be determined by your internal software management requirements. The integation server must meet the System Requirements stated above.

2. Extract Files

Download V1QualityCenter using the link above and extract it into a folder of your choice.

3. Configure

Configuration for the Quality Center Integration is a 3 step process.

4. Start up

Open up the command prompt, navigate to your installation folder, and run the following command:

VersionOne.ServiceHost.exe

If you have configured your system properly, you should see several [Info] messages followed by a [Startup] message.

5. Test the Service

  • To test pushing VersionOne Tests to Quality Center

    1. In VersionOne

      1. Select a project you configured in the TestPublishProjectMap section of VersionOne.ServiceHost.exe.config

      2. Set the owner of a test to the "Quality Center" user

    2. In Quality Center

      1. Connect to the project you expected the test to appear

      2. Verify that the test appears in the Test Plan section under the folder you configured in the TestFolder section of VersionOne.ServiceHost.exe.config

  • To test Updating VersionOne Test Status with values from Quality Center

    1. In Quality Center

      1. Assign the test created from VersionOne to a TestSet

      2. Change the status of this test

    2. In VersionOne

      1. Verify that the test status changes

  • To test pushing Quality Center Defects to VersionOne

    1. In Quality Center

      1. Assign a Defect to the "Version One" user

      2. Set the Defect State to "New"

      3. Verify that the defect state changes to Open

    2. In VersionOne

      1. Verify that the defect is in the backlog for the VersionOne project specified in QCProjects map in VersionOne.ServiceHost.exe.config

  • To test closing a defect in VersionOne that was created from a Quality Center defect

    1. In VersionOne

      1. Close a Defect that was created from Quality Center

    2. In Quality Center

      1. Verify that the defect status is set to 'Fixed'

Shut down the service host by pressing "Q" in the console window.

6. Install as a Windows Service

Run the following command from the console window:

VersionOne.ServiceHost.exe --install

This command installs the service so it will will run under the account NT AUTHORITY\Local Service. Local Service must be given access privileges to the directory where the V1QualityCenter was installed so it can store its state and write to log files. Follow the steps below to change the security on the installation directory:

  1. Right click the installation folder from Windows Explorer.

  2. Select "properties".

  3. Select the "Security" tab.

  4. Click the "Add" button.

  5. Enter "Local Service" and click "OK".

  6. Click the "Allow" checkbox for the "Full Control" row .

  7. Click "OK" to save the changes.

For more information on how the Windows Service is configured see Service Host Configuration.

Configuration

Quality Center Configuration

This section describes how to configure Quality Center for use with VersionOne

  1. Create a User Field on Test for storing the VersionOne identifier (Tools | Customize | Customize Project Entities).

    Figure 1.


  2. Select or Create a user in Quality Center to represent the VersionOne system. This user must have sufficient rights to accept and modify defects. Additionally, this user must have access to all Quality Center projects that contain defects that will be pushed to VersionOne

VersionOne Configuration

  1. Add "Quality Center" to the list of valid Source

    Figure 2.


  2. Select or Create a user to represent the Quality Center system. This user must have sufficient rights to create Defects, and accept and modify Tests in VersionOne. Additionally, this user must have access to all VersionOne projects that contain Test that will be pushed to Quality Center and Defects. The default filters expect this user to be Quality Center.

  3. Optional: The integration needs a text field in VersionOne store the Quality Center identifier. By default this is the Reference field. If you are already using this field, you'll need to create a custom text field and note the name

ServiceHost Configuration

The configuration file for the Quality Center Integration is VersionOne.ServiceHost.exe.config. This section describes the elements in the ServiceHost configuration file.

Table 1. QualityCenterService Element

Name Description
Connection
Name Description
ApplicationUrl Quality Center Application URL
Username Valid Quality Center Username.
Password Password for specified user
QCProjects A Collection of Project elements that map to VersionOne Projects. Each element has an ID that must be declared in the TestPublishProjectMap element.

Table 2. Project Element

Name Description
Domain Quality Center Domain Name
Project Quality Center Project Name
TestFolder Name of the folder in Quality Center where test are created. If this folder does not exist it will be created
VersionOneIdField Quality Center custom field that will hold the VersionOne Display ID
VersionOneProject The name of the VersionOne project that maps to this Quality Center Project


DefectFilters Quality Center Search Criteria used to find Defects to move into VersionOne

Table 3. DefectFilter

Name Description
FieldName Quality Center Field Name
FieldValue Value to look for in specified Field


CreateStatusValue Quality Center Defect Status value to set after a Defect is created in VersionOne
CloseStatusValue Quality Center Defect Status value to set after a VersionOne Defect is closed
SourceFieldValue VersionOne 'Source' value to use when Defect was created from Quality Center artifact

Example 1. QualityCenterService Element

<QualityCenterService class="VersionOne.ServiceHost.QualityCenterServices.QualityCenterHostedService, VersionOne.ServiceHost.QualityCenterServices">
	<!-- Connection Information -->
	<Connection>
		<ApplicationUrl>http://192.168.36.52/qcbin/</ApplicationUrl>
		<Username>alex_qc</Username>
		<Password></Password>
	</Connection>

	<!-- Quality Center Projects Supported By This Instance -->
	<QCProjects>
		<!-- Each Project has an ID that must match an entry in the VersionOne Project Map (See TestPublishProjectMap below) -->
		<Project id="CallCenter">
			<!-- QC Domain for this project -->
			<Domain>Default</Domain>
			<!-- QC Project for this project -->
			<Project>CallCenter</Project>
			<!-- Name of folder for test creation, if it does not exist it will be created -->
			<TestFolder>VersionOne</TestFolder>
			<!-- QC Field used for holding the VersionOne Display ID (The ID you see in the Grid) -->
			<VersionOneIdField>TS_USER_01</VersionOneIdField>
			<!-- The name of the VersionOne project that maps to this QC Project -->
			<VersionOneProject>Call Center</VersionOneProject>
		</Project>
	</QCProjects>

	<!-- Quality Center Search Criteria to find Defects to move into VersionOne -->
	<DefectFilters>
		<!-- User the Defect is Assigned To-->
		<DefectFilter>
			<FieldName>BG_RESPONSIBLE</FieldName>
			<FieldValue>VersionOne</FieldValue>
		</DefectFilter>
		
		<!-- Status of the Defect -->
		<DefectFilter>
			<FieldName>BG_STATUS</FieldName>
			<FieldValue>New OR Reopen</FieldValue>
		</DefectFilter>
	</DefectFilters>

	<!-- Quality Center change after a Defect is created in VersionOne -->
	<CreateStatusValue>Open</CreateStatusValue>

	<!-- Quality Center change after a VersionOne Defect is closed -->
	<CloseStatusValue>Fixed</CloseStatusValue>

	<!-- VersionOne 'Source' value to use when Defect was created from Quality Center artifact -->
	<SourceFieldValue>Quality Center</SourceFieldValue>
</QualityCenterService>

Table 4. QCTestReadTimer Elements

Name Description
Interval Number of milliseconds to wait between polls to the Quality Center system
PublishClass Do Not Change

Example 2.

This example polls every 60 seconds

<QCTestReadTimer disabled="0" class="VersionOne.ServiceHost.Core.Services.TimePublisherService, VersionOne.ServiceHost.Core">
	<Interval>60000</Interval>
	<PublishClass>VersionOne.ServiceHost.QualityCenterServices.QualityCenterReaderService+IntervalSync, VersionOne.ServiceHost.QualityCenterServices</PublishClass>
</QCTestReadTimer>

Table 5. DefectWriterService Elements

Name Description
Settings
Name Description
ApplicationUrl VersionOne Application URL
Username Valid VersionOne Username. This user must have authority to create defects in the VersionOne projects being processed.
Password Password for specified user
APIVersion The minimum application version required for this hosted service.
IntegratedAuth False if using VersionOne native security, true is using Windows Integrated Security. If VersionOne is configured to use Windows Integrated Security, the account the service is running as must be a configured VersionOne user with a project role of Team Member or higher. Also, Username and Password should be empty if IntegratedAuth is true.
ExternalIdFieldName Name of VersionOne field that holds the ID of the Quality Center Defect. Must be a text field

Example 3.

<DefectWriterService disabled="0" class="VersionOne.ServiceHost.DefectServices.DefectWriterHostedService, VersionOne.ServiceHost.DefectServices">
	<ExternalIdFieldName>Reference</ExternalIdFieldName>
	<Settings>
		<ApplicationUrl>http://v1host/VersionOne/</ApplicationUrl>
		<Username>admin</Username>
		<Password>admin</Password>
		<APIVersion>7.2.0.0</APIVersion>
		<IntegratedAuth>false</IntegratedAuth>
	</Settings>
</DefectWriterService>

Table 6. V1TestService Element

Name Description
Settings
Name Description
ApplicationUrl VersionOne Application URL
Username Valid VersionOne Username. This user must have authority to create defects in the VersionOne projects being processed.
Password Password for specified user
APIVersion The minimum application version required for this hosted service.
IntegratedAuth False if using VersionOne native security, true is using Windows Integrated Security. If VersionOne is configured to use Windows Integrated Security, the account the service is running as must be a configured VersionOne user with a project role of Team Member or higher. Also, Username and Password should be empty if IntegratedAuth is true.
PassedOid The TestStatus asset Oid in VersionOne that indicates test a test succeeded
FailedOid The TestStatus asset Oid in VersionOne that indicates that a test failed
TestReferenceAttribute The cross-reference used to associate tests in VersionOne to test in the external test system ('Number' is the default, 'Reference' another option)
ChangeComment The change comment put into history for any modifications the service makes in VersionOne
DescriptionSuffix A suffix for the description of any defects that the service creates; Embedded Rich Text (HTML) is valid in this suffix
CreateDefect Indicates whether the TestWriterService should create defects when automated tests fail for closed tests in VersionOne. Valid values are:
  • All: creates a 'failed test' defect for any closed tests in the project

  • CurrentIteration: only creates a 'failed test' defect for closed tests within the current iteration

  • None: never creates defects

BaseQueryFilter Filter used when selecting VersionOne Test to push to Quality Center. This filter must include the attribute defined in TestReferenceAttribute
TestPublishProjectMap Contains a collection of V1Project elements that describe the VersionOne Projects that should be considered when publishing Test information.

Table 7. Attributes on the V1Project Element

Name Description
Name Name of V1 project
IncludeChildren Should Child projects be considered


The Inner Text for each V1Project Element defines a destination project name. The destination listener must know how to interpert this value. For Quality Center this is a Project entry in QCProjects.


Example 4. V1TestService

<V1TestService class="VersionOne.ServiceHost.TestServices.TestService, VersionOne.ServiceHost.TestServices">
	<!-- VersionOne connection settings -->
	<Settings>
		<ApplicationUrl>http://localhost/VersionOne/</ApplicationUrl>
		<Username>admin</Username>
		<Password>admin</Password>
		<APIVersion>6.5.0.0</APIVersion>
		<IntegratedAuth>false</IntegratedAuth>
	</Settings>

	<!-- OIDs for passed and failed status.  -->
	<PassedOid>TestStatus:129</PassedOid>
	<FailedOid>TestStatus:155</FailedOid>

	<!-- Comments used when making changes -->
	<ChangeComment>Updated by VersionOne.ServiceHost</ChangeComment>

	<!-- Embedded Rich Text (HTML) is valid in this suffix -->
	<DescriptionSuffix>Check the external test system for more details.</DescriptionSuffix>

	<!-- Valid values are All, CurrentIteration, None -->
	<CreateDefect>All</CreateDefect>

	<!-- Field to set with test reference data -->
	<TestReferenceAttribute>Reference</TestReferenceAttribute>

	<!-- Base filter used when selecting tests to push to partner system -->
	<!-- This filter must include the attribute defined in TestReferenceAttribute -->
	<BaseQueryFilter>Reference='';Owners.Nickname='qc';Status.Name=''</BaseQueryFilter>

	<!-- VersionOne projects that should be considered when publishing Test information -->
	<TestPublishProjectMap>
		<!-- Each Map entry specifies a V1 project to query and the name of that project in the partner system
		     Name            - Name of V1 project
		     IncludeChildren - Should Child projects be considered
		     The Inner Text for each Map element defines the destination project name. The destination listener must know how to interpert this value
		-->
		<V1Project Name="Call Center" IncludeChildren="Y">CallCenter</V1Project>
	</TestPublishProjectMap>
</V1TestService>

Table 8. V1TestReadTimer Elements

Name Description
Interval Number of milliseconds to wait between polls to the VersionOne
PublishClass Do Not Change

Example 5.

This example polls every 60 seconds

<V1TestReadTimer disabled="0" class="VersionOne.ServiceHost.Core.Services.TimePublisherService, VersionOne.ServiceHost.Core">
	<Interval>60000</Interval>
	<PublishClass>VersionOne.ServiceHost.TestServices.TestReaderService+IntervalSync, VersionOne.ServiceHost.TestServices</PublishClass>
</V1TestReadTimer>

Copyright © 2008, VersionOne, Inc. All rights reserved. This document was generated 2008-10-15 18:43:52.