Configuring Quality Center

To use the Quality Center Connector with Serena Development Manager, you must complete a number of additional configuration steps. These steps help you set up Quality Center to use with the default, out-of-box implementation of Serena Development Manager.

Configuring HP from the Site Administration tool:

  1. Log into the Site Administration tool for Quality Center.

  2. Under Site Users, add a user account that corresponds with every SBM and Dimensions CM user who must also have access to Quality Center. These user names must precisely match the corresponding user names in SBM and Dimensions CM.

  3. Add a user with the name QCConnector.

  4. Under Site Projects, create a new, empty project. Name this project QLARIUS and add it to the DEFAULT domain.

  5. Add all of the users you just set up to the new QLARIUS project.

  6. Activate the project, and optionally enable versioning for it, in order to version requirements and tests.

  7. Log into the QLARIUS project as an administrator and continue to the next section.

Configuring HP Quality Center Projects:

  1. In Quality Center / ALM, select Customize from the Tools menu.

  2. Under Project Entities, edit or add the following fields under Defect.

  3. Under Project Lists, make the following changes:

    1. Select Severity, and set the options to:

      • 1

      • 2

      • 3

      • 4

    2. Select Bug Status, and set the options to:

  4. Select Project Users, then select the QCConnector user.

  5. Click the Member tab and ensure that the QCConnector user is a member of the TDAdmin and Viewer groups.

  6. Select Workflow, then click the Script Editor link.

  7. In the Script Editor, expand Project Scripts, then select the Common Script node. Add the following to the end of this script.

    Function Project_InvokeALF(sEventType, sObjectId)

    ' Set up parameters:

    sUrl = "http://sbm_server:8085/eventmanager/services/ALFEventManagerDocLit"

    sProduct = "Event Definition Product Name"

    sProdVer = "Event Definition Version"

    sProdInst = "Event Definition Product Instance"

    sObjectType = "Event Definition Object Type"

    sUsername = "QCconnector"

    sPassword = "ttqc"

    sSoapAction = """"""

    ' Set up soap query:

    sXml = "<env:Envelope " _

    & "xmlns:env=""http://schemas.xmlsoap.org/soap/envelope/"" " _

    & "xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" " _

    & "xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" " _

    & "xmlns:ns=""http://www.eclipse.org/alf/schema/EventBase/1"">" _

    & "<env:Body>" _

    & "<ns:ALFEventNoticeDoc>" _

    & "<ns:Base>" _

    & "<ns:EventId>" & sEventType & "</ns:EventId>" _

    & "<ns:Timestamp xsi:nil=""true"" />" _

    & "<ns:EventType>" & sEventType & "</ns:EventType>" _

    & "<ns:ObjectType>" & sObjectType & "</ns:ObjectType>" _

    & "<ns:ObjectId>" & sObjectId & "</ns:ObjectId>" _

    & "<ns:Source>" _

    & "<ns:Product>" & sProduct & "</ns:Product>" _

    & "<ns:ProductVersion>" & sProdVer & "</ns:ProductVersion>" _

    & "<ns:ProductInstance>" & sProdInst & "</ns:ProductInstance>" _

    & "</ns:Source>" _

    & "<ns:User>" _

    & "<ns:ALFSecurity>" _

    & "<ns:UsernameToken>" _

    & "<ns:Username>" & sUsername & "</ns:Username>" _

    & "<ns:Password>" & sPassword & "</ns:Password>" _

    & "</ns:UsernameToken>" _

    & "</ns:ALFSecurity>" _

    & "</ns:User>" _

    & "</ns:Base>" _

    & "<ns:Extension>" _

    & "<ns:QCDomain>" & DomainName & "</ns:QCDomain>" _

    & "<ns:QCProject>" & ProjectName & "</ns:QCProject>" _

    & "<ns:QCUser>" & UserName & "</ns:QCUser>" _

    & "</ns:Extension>" _

    & "</ns:ALFEventNoticeDoc>" _

    & "</env:Body>" _

    & "</env:Envelope>"

    ' Create objects to DOMDocument and XMLHTTP:

    set objDom = CreateObject("MSXML2.DOMDocument")

    set objXmlHttp = CreateObject("MSXML2.XMLHTTP")

    ' Load XML:

    objDom.async = False

    objDom.loadXML sXml

    ' Open the Web service:

    objXmlHttp.open "POST", sUrl, False

    ' Create headings:

    objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"

    objXmlHttp.setRequestHeader "SOAPAction", sSoapAction

     

    'msgbox "XML Payload = " & sXml

    ' Send XML command:

    objXmlHttp.send objDom.xml

    ' Get all response text from the Web service:

    sRet = objXmlHttp.responseText

    ' Close object

    set objXmlHttp = Nothing

    On Error GoTo 0

    End Function

  8. On the Script Editor, expand Project Scripts then select Defects module script.

  9. To the very top of this script, add:

    Dim ALFEventType

  10. Select the Bug_CanPost statement and add the following after the line starting with: Bug_CanPost:

    ' For new defect (that was not submitted yet, BG_BUG_ID is always Null

    If Bug_Fields("BG_BUG_ID").IsNull Then

    ALFEventType = "QCBugCreated"

    Else

    ALFEventType = "QCBugUpdated"

    End If

    The resulting screen should look something like the following:

    scripts_screen.jpg

  11. Select the Bug_CanDelete statement and add the following before the End Function line:

    Project_InvokeALF "QCBugDeleted", cStr(Bug_Fields("BG_BUG_ID").Value)

  12. Select the Bug_AfterPost statement and add the following line before the End Sub line

Project_InvokeALF ALFEventType cStr(Bug_Fields("BG_BUG_ID").Value)