In this section:

Introduction

Jama Connect is a popular browser-based platform for managing requirements. Parasoft DTP integrates with Jama Connect, providing the following functionality:

  • Ability to manually create defects in Jama Connect in from the Violations Explorer and Test Explorer views.
  • Ability to send, view, and update Parasoft test results in Jama Connect system requirements (Sending Test Data to Jama Connect).
    • For users who plan to track traceability using traceability reports in Jama Connect. In order to do this, you need to first send test results from Parasoft DTP to Jama Connect.
  • Traceability from Jama Connect requirements to tests, static analysis results, and code reviews (see Viewing the Traceability Report).
    • For users who plan to track traceability using traceability reports in Parasoft DTP. In order to do this, use @req to associate your automated tests in Parasoft to Jama Connect requirements.

Requirements

The following requirements are only applicable if you are going to send test results to Jama Connect.

  • Tests executed by the following Parasoft tools are supported:
    • C/C++test Professional, dotTEST, or Jtest 10.4.3 +
    • Selenic 2020.1 +
    • SOAtest 9.10.8 +
  • You should have already created requirements in Jama Connect. 
  • Your Jama Connect project should be configured to include a Set of Test Cases item type. 

Configuration

The configuration is performed by the Parasoft administrator and only needs to be set up once. Developers, testers, and other DTP end users should review the Usage section for instructions on how to use Parasoft with Jama Connect. 

Connecting DTP to Jama Connect

  1. Choose Report Center Settings from the settings (gear icon) drop-down menu.
  2. Choose External System and choose Jama Connect from the System type drop-down menu.
  3. Enable the Enabled option.
  4. Enter a name for your instance of Jama Connect in the Name field. The name is required but does not affect the connection settings or render in any other interfaces.
  5. Enter the URL for the Jama Connect server in the Application URL field. The URL should include the protocol, host, and port number. Do not include paths or parameters.
  6. The Display URL field defines the URL which is displayed in Parasoft DTP pages when links to your Jama Connect system are presented in a web browser. Typically, this should be the same as the above Application URL field. However, it might be different, for example, when you work in a reverse proxy environment and links to Jama Connect from the user's local web browser with Parasoft DTP are different than from the Parasoft DTP server. 
  7. Enter login credentials in the Username and Password/API token fields. The login must have sufficient privileges to create issues in the Jama Connect projects specified in the Project Associations section.
  8. Click Test Connection to verify your settings and click Save.

Associating Parasoft Projects with Jama Connect Projects

Associating a Parasoft project with a Jama Connect project enables you to create defects from the Violations or Test Explorer views that are linked to the correct project in Jama Connect. The association is also important when using the Sending Test Data to External System flowYou can associate multiple projects in DTP with a project in Jama Connect, but you cannot associate the same DTP project with more than one Jama Connect project.

  1. Click Create Project Association and choose a project from the DTP Project drop-down menu in the overlay. 
  2. Enter the name of a Jama Connect project in the External Project field and click Create to save the association.

Click the trash icon to remove a project association. Deleting the project association does not remove links from DTP explorer views to defects in Jama Connect. If an association is deleted and recreated later, existing links between violations and Jama Connect issues will be reactivated. 

You can reconfigure an existing association between DTP and Jama Connect projects:

  1. Click the pencil icon and choose either a different DTP project from the drop-down menu or specify the name of a different Jama Connect project in the External Project field.
  2. Click Save

Enabling the Requirements Traceability Report

You can configure DTP to generate widgets and reports that help you demonstrate traceability between the requirements stored in Jama Connect and the test, static analysis, and build review data sent to DTP from Parasoft tools (C/C++test, dotTEST, Jtest).

If you want the Traceability Report to include code review and static analysis information, you must associate your source code files with requirements stored in Jama Connect. See Associating Requirements with Files for instructions on enabling this optional feature.

DTP interfaces that display and track traceability are enabled by deploying the External System Traceability Report artifact shipped with the Traceability Pack. The Traceability Pack also includes the Sending Test Data to External System flow, which automates part of the requirements traceability workflow. Refer to the Traceability Pack documentation for instructions on how to install the pack.  

Use DTP Extension Designer to deploy the External System Traceability Report and the Sending Test Data to External System flow to your environment. Verify that DTP is connected to Jama Connect as described in the Connecting DTP to Jama Connect section before deploying the artifacts.

Installing the Traceability Pack

The first step is to install the Traceability Pack artifact. The artifact is a collection of configuration files and assets that enable traceability.  

  1. Choose Extension Designer from the settings menu (gear icon).
  2. Click the Configuration tab to open Artifact Manager.
  3. Click Upload Artifact and browse for the traceability-pack-<version>.zip archive (also see Downloading and Installing Artifacts).
  4. Click Install and a collection of assets and configuration files for enabling traceability will be installed.

Deploying the Traceability Report

Deploy the report components to your DTP environment after installing the Traceability Pack. 

  1. Open Extension Designer and click on the Services tab.
  2. Choose an existing service to deploy the artifact or create a new service in the DTP Workflows category. Refer to Working with Services for additional information on organizing services and artifacts.
  3. If you are adding the artifact to an existing service, add a new Flow tab (see Working with Flows) and choose Import from the ellipses menu.
  4. Choose Local> Flows> Workflows> Traceability Pack> External System Traceability Report and click Import.
  5. Click inside the Flow tab to drop the nodes into the service and click Deploy

Deploying the External System Traceability Report adds new widgets to Report Center, as well as a drill-down report. See Viewing the Traceability Report for instructions on adding the widgets and viewing the report.  

Deploying the Sending Test Data to External System Flow

This artifact sends test data to Jama Connect when DTP Data Collector retrieves test results from a Parasoft tool. This artifact ships with the Traceability Pack, which must be installed as described in Installing the Traceability Pack before deploying the flow. 

  1. Open Extension Designer and click on the Services tab.
  2. Choose an existing service to deploy the artifact or create a new service in the DTP Workflows category. Refer to Working with Services for additional information on organizing services and artifacts.
  3. If you are adding the artifact to an existing service, add a new Flow tab (see Working with Flows) and choose Import from the ellipses menu.
  4. Choose Library> Workflows> Traceability Pack> Sending Test Data to External System and click Import.
  5. Click inside the Flow tab to drop the nodes into the service and click Deploy

Advanced Configuration

You can modify the ExternalSystemSettings.properties configuration file located in the <DTP_DATA_DIR>/conf directory to change the default behavior of the integration. DTP's out-of-the-box integration with Jama Connect is configured to use default or commonly-used fields and work item types. If you customized your Jama Connect system, however, then you can configure the following settings to align data in DTP with your custom configuration.  

jamaIssueUrl

Specifies the URL template for linking items created in the DTP Violation Explorer and Test Explorer to items in Jama Connect.

Default:

jamaBeamerIssueUrl=<JAMA_URL>/perspective.req#/items/<ID> 

jama.item.types.to.skip

Specifies a list of item types that are not related to Sets of Requirements in a Jama project.

Used in Parasoft C/C++ and SOAtest Requirements View to present Jama test cases associated with Jama requirements.

Default:

jama.item.types.to.skip=BUG;SET;TXT;FLD;TC;LTC;HTC;VALTC
jama.bugSet.name

Specifies the name of a set of defects in Jama Connect where new defects will be added or where existing defects will be updated when defects are created from the Parasoft DTP Violation and Test Explorer views. If the set of defects does not yet exist, it will be created and given the name specified in this property. 

Default:

jama.bugSet.name=Defects created by Parasoft DTP 

jama.sync.testcase.relationship.type

Specifies the relationship type between requirements and test cases used for creating a new test case during the sending of test results from DTP to Jama. If not set, the default relation type in Jama is set.

Default:

jama.sync.testcase.relationship.type=Verified By
jama.testcase.relationship.types

Specifies a list of relationship types used to filter appropriate test cases related to requirements. The values should be a list of relationship types names separated with ";". If the setting has no specified values, all of the relationship types available in Jama system will be used.

Used in Parasoft C/C++ and SOAtest Requirements View to present Jama test cases associated with Jama requirements.

Value:

jama.testcase.relationship.types=Verified by;Validated by
jama.testcase.types

Specifies list of item types related to Sets of Test Cases in Jama project. The values should be a list of keys separated by ";".

Used in Parasoft C/C++ and SOAtest Requirements View to present Jama test cases associated with Jama requirements. Also used while synchronizing DTP data with Jama when adding new Test Cases.

Default:

jama.testcase.types=TC;LTC;HTC;VALTC

Usage

After configuring the integration with Jama Connect, developers, testers, and other users can leverage the functionality enabled by the integration.

Manually Creating Bugs and Tasks in Jama Connect

The Test Explorer and Violations Explorer views enable you to create bugs and tasks for any test and violation, respectively, regardless of status. Refer to the following sections for details on creating Jama Connect assets in explorer views:

Sending Test Data to Jama Connect 

The following diagram shows how you could implement an automated infrastructure for integrating Parasoft DTP and Parasoft test execution tools into your Jama Connect environment:

  1. Create requirements in Jama Connect that you can associate with tests executed by Parasoft tools. 
  2. In your test file, map the Jama Connect system requirement IDs to the tests using the following annotation format:

    * The following annotation maps the test to a requirement:
    * @req <Jama System Requirement ID> 
    @TEST
    ...


    • Use the @test <Jama Test ID> annotation to associate tests with test definitions in Jama. When using @test make sure that you have no test case steps defined in the tests whose run statuses you plan to send from Parasoft DTP to Jama. Parasoft DTP is not able to update test case runs for test cases which have steps defined.

    • Use the @req <Jama Story ID> annotation to associate tests with stories in Jama. When using @req make sure the following relation type is defined in the Jama project you plan to send results to: "verified by". Such relation is needed by Parasoft DTP when it creates a test case in Jama and relates it to requirement in Jama.

    Annotating tests links them to entities in Jama Connect so that they can be visualized in DTP reports. The annotation is added to the unit test file for Parasoft language tools (i.e., C/C++test, dotTEST, Jtest). For functional tests executed with SOAtest, the annotation is added to the .tst file. Refer to your Parasoft tool documentation for details on adding annotations. You must use the ID from Jama Connect URL and not the ID generated in the UI:

      
  3. Execute your tests as part of the CI process. You can also manually execute the tests from the IDE.
  4. As part of the test execution, Parasoft test execution tools will tag the results with the filter and build IDs and send the data to DTP. You can verify the results in DTP by adding Test Widgets to your DTP dashboard and setting the filter and build ID. Developers can download the test execution data from DTP into their IDEs so that they can address any failed tests.
  5. If you deployed the Sending Test Data to External System flow (see Deploying the Sending Test Data to External System Flow), then unit and functional testing results will automatically be sent to Jama Connect when Data Collector receives the data from the Parasoft tool. By default, the flow forwards unit and functional test results that were received by Data Collector for any project, but you can configure the flow to only send data for a specific project (see Sending Results from a Specific DTP Project). 
    You can also manually s
    end a POST request to the DTP REST API endpoint to send results from the DTP database to Jama Connect. Pass the IDs for the DTP filter and build, as well as the ID for a set of Jama test cases, as URL parameters in the API call:

    curl -X POST -u <username>:<password> "http://<host>:<port>/grs/api/v1.7/linkedApps/configurations/1/syncTestCases?filterId=<filterID>&buildId=<buildID>&testCaseSetId=<JAMA_TEST_CASE_SET_ID>"

    The filter and build IDs are available in the Test Explorer URL:
     

    The following table describes the endpoint parameters.

    ParameterValueDescriptionRequired
    filterId integerSpecifies the filter ID containing the test data. The filter ID is an integer value and should not be confused with the filter name.Required
    buildId stringSpecifies the build ID containing the test data.Required
    groupResultsBySOAtestTST 
     
    boolean

    Setting to true groups SOAtest results by .tst file. As a result, one .tst file will be associated with one Jama test.

    Setting to false associates each test step within a SOAtest .tst with a Jama test.

    Default is false 

    Optional
    testCaseSetId
    ID of set of test cases

    Specifies the ID of a test case set in Jama where Parasoft DTP should create new test case definitions, if not found in Jama. When a test case definition is found in Jama, whether in this testCaseSetId or another, it is just updated and not moved to this specific test case set. 

    The value for the testCaseSetID parameter should be an ID for a "Set of Test Cases" item type in Jama (see Requirements). You must use the ID from Jama Connect URL and not the ID generated in the UI. You can get the ID from the URL after clicking on the test cases node in the project tree.

    Optional


    The set of test cases is the item where DTP can create new test cases as necessary. DTP will create new test cases when it sends results to Jama Connect if equivalent test cases do not exist, as described in the next step.  

  6. DTP will locate the test results that match the filterId and buildId parameters and send the data to the Jama Connect system requirements. 
    • When DTP locates results with an @req <ID>, it will search for a matching item in Jama Connect. If a match is found, test results will be added to the test cases associated with the item. If there are no test cases for the requirement ID, then test cases will be created and test runs will be added to them.
    • An external-app-sync.log file will also be written to the the <DTP_INSTALL>/logs directory. This log file contains progress information about sending test results from DTP to Jama Connect. 

After DTP processes the report and sends results to Jama Connect, you should expect a response similar to the following:

{
   "createdTestSession": "DTPP-521",
    "created": [
        "DTPP-519, testName = testBagSumAdd"
    ],
    "updated": [
        "DTPP-519, testName = testBagSumAdd",
        "DTPP-518, testName = testBagSimpleAdd"
    ],
    "ignored": [
        "MAGD-567, testName = testBagNegate",
        "QAP-512, testName = testTryThis3",
        "QAP-512, testName = testTryThis4",
        "MAGD-567, testName = testBagMultiply"
    ]
}

Sending Results from a Specific DTP Project

If you are using the Sending Test Data to External System flow to forward unit and functional test results, data will be sent to Jama Connect for all DTP projects by default. As a result, work items will be updated to include the tests collected for any DTP project that contain annotations matching Jama Connect IDs. You can configure the flow, however, to only send data for a specific project. 

  1. Open Extension Designer and open the service where the Sending Test Data is deployed.
  2. Drag a new switch node to the workspace.
  3. Select and delete the connector line between the "DataCollectorProcessedEvent" node and the "Is dynamic analysis" node.
  4. Drag a new connector from the "DataCollectorProcessedEvent" node to the switch node and from the switch node to the "Is dynamic analysis" node.
     
  5. Double-click the node and specify the following string in the Property field:

     event.message.resultsSession.project
  6. Specify the name of the DTP project in the string field.
  7. (Optional) Provide a more descriptive name for the node.
  8. Click Done to finish configuring the node and click Deploy.

When the flow executes, only test results for the specified DTP project will be sent to Jama Connect. 

Viewing Results in Jama Connect

You will be able to view results in Jama Connect after sending the test data. The following image shows a set of test cases containing several test cases in Jama Connect. 

You can drill down into a test case to view details, such as test runs for the test case.

Click on a test run to view execution details.

Viewing the Traceability Report

If the External System Traceability Report has been deployed to your system (see Enabling the Requirements Traceability Report), you can add widgets to your dashboard to monitor traceability from requirements to tests, static analysis, code reviews for your project. The widgets also drill down to a report that includes additional details. In order for DTP widgets and reports to show traceability information between tests and Jama Connect items, the tests must be associated with the Jama Connect items as described in step 2 of the test execution and reporting workflow described above.

DTP traceability widgets and reports will include all items from in the specified Jama Connect project that may be considered requirements except for the following types of Jama Connect entities:

  • defects
  • test cases
  • sets
  • folders
  • text items

Adding and Configuring the Widgets

The widgets will appear in a separate Traceability category when adding widgets to your DTP dashboard. See Adding Widgets for general instructions on adding widgets.

You can configure the following settings:

TitleYou can enter a new title to replace the default title that appears on the dashboard.
FilterChoose Dashboard Settings to use the dashboard filter or choose a filter from the drop-down menu. See Creating and Managing Filters for additional information about filters.
Target BuildThis should be set to the build ID you executed the tests and code analysis under. You can use the build specified in the dashboard settings, the latest build, or a specific build from the drop-down menu. Also see Configuring Dashboard Settings.
TypePie widget only . Choose either a Tests, Violations, or Reviews from the drop-down menu to show a pie chart detailing the status by type. Add instances of the widget configured to each type for a complete overview in your dashboard.
Jama ProjectChoose a Jama Connect project from the drop-down menu.
Jama Set of RequirementsChoose a set of items (e.g., set of requirements) from the selected project. You can choose any set of items in the project except sets of test cases and sets of defects. 

Requirements Widget

This widget shows the number of requirements from the specified Jama Connect project. 

Click on the widget to open the Requirement Traceability report.

Test Coverage Widget

This widget shows the percentage of requirements covered by tests against all requirements in the project.

Click the center of the widget to open the main Requirement Traceability report.

The colored-in segment represents the requirements covered by tests. Click on the segment to open the Requirement Traceability report filtered to the With Tests category.

Pie Widget

Unit testing, functional testing, static analysis, and peer reviews are common activities for verifying that requirements have been properly and thoroughly implemented. This widget shows the overall status of the project requirements in the context of those software quality activities. You can add a widget for each type of quality activity (tests, static analysis violations, reviews) to monitor the progress of requirements implementation for the project.

Mouse over a section of the chart to view details about quality activity type status. Click on the widget to open the Requirement Traceability report filtered by the selected type.

Requirements Implementation Status by Tests

Requirements Implementation Status by Violations

Requirements Implementation by Reviews

Understanding the Requirement Traceability Report

The report lists the Jama Connect requirements and data associated with them.

You can perform the following actions:

  • Disable or enable the Show files/reviews option if you want to hide the Files and Reviews columns in the report. The Files and Reviews columns will only contain data if the requirements have been mapped to source files files (see Enabling the Requirements Traceability Report). Disabling the Files and Reviews columns on this screen hides the related tabs in the Requirement Details report.  
  • Click on a link in the Key column to view the tracker in Jama Connect.
  • Click on a link in the Summary column or one of the Test columns to view the test-related information associated with the tracker in the Jama Connect Requirement Details Report.
  • Click on a link in one of the Files columns to view the static analysis-related information associated with the tracker in the Jama Connect Requirement Details Report.
  • Click on a link in one of the Reviews columns to view the change review-related information associated with the tracker in the Jama Connect Requirement Details Report.

Requirement Traceability Report by Type

Clicking on a section of the Jama Connect Requirements - Pie widget opens a version of the report that includes only the quality activity type selected in the widget. You can use the drop-down menus to switch type and status. You can also disable or enable the Show files/reviews option if you want to hide the Files and Reviews columns in the report. The Files and Reviews columns will only contain data if the requirements have been mapped to source files files (see Enabling the Requirements Traceability Report). Disabling the Files and Reviews columns on this screen hides the related tabs in the Requirement Details report.  

Understanding the Requirement Details Report

The Jama Connect Requirement Details report provides additional information about the files, static analysis findings, and tests associated with a specific Jama Connect requirement. You can open this report by clicking on a requirement in the Jama Connect Requirement Traceability report.

The first tab shows the results of the tests that were executed to verify the specific work item.

You can click on the View results in Test Explorer link to view all of the tests associated with the work item in the Test Explorer

You can also click on individual test names in the table to view each test in the Test Explorer.

The second tab shows the files associated with the specific requirement, as well as the static analysis violation detected in the files. You can click the link the Violations column to view the violations in the Violations Explorer, which provides additional details about the violations.

This tab will only contain data if the requirements have been mapped to source files files (see Enabling the Requirements Traceability Report). If you did not map requirements to files, you can hide this tab by disabling the Show files/reviews option on the main traceability report page and reloading the details report.

If the files include any change reviews or review findings, they will be shown in the third tab with links to view them in the Change Explorer

This tab will only contain data if the requirements have been mapped to source files files (see Enabling the Requirements Traceability Report). If you did not map requirements to files, you can hide this tab by disabling the Show files/reviews option on the main traceability report page and reloading the details report.