Skip to content

513. Integrate a Requirements Management Tool (RMT)

Foretify Manager supports integration with the following RMTs:

  • MagicDraw with Cameo Requirements Modeler Plugin (tested with v19.0 SP 4).
  • IBM DOORS with DOORS Web-Access (tested with v9.6.1.9).
  • Jama Connect.

With any of these RMT tools, the integration allows you to:

  • Synchronize VPlan coverage grades & VPlan links from Foretify Manager to the RMT.
  • Browse requirement URLs from VPlan sections.
  • Browse VPlan section URLS from requirements.
  • Generate VPlan sections when a new requirement is added (by polling the RMT where possible, or by manually creating a custom action in the RMT’s GUI).

To integrate an RMT with Foretify Manager:

  1. Configure the Foretify Manager server and proxy by specifying various options in an applications.properties file.

  2. Configure the RMT by:

    • Creating connection credentials for Foretify Manager (where applicable).
    • Deploying plugins (where applicable).
    • Adding V&V grade and URL fields to the requirement types managed by the RMT.
  3. Configure the VPlan.

The first two steps are described below. The last step is described in Link a VPlan to a Requirements Management Tool (RMT) in the Foretify Manager User Guide.

513.1 Configuring the Foretify Manager server and proxy

The Foretify Manager server communicates internally with a Foretify Manager proxy, a separate service that handles all communications with RMT tools.

The following configurations should be specified in a file named application.properties. If the file does not already exist, create it and place it in the directory where the server and proxy processes are launched: ${RELEASE_DIRECTORY}/server/bin.

The configuration options shown in the table below must be added to application.properties. The rmt.proxy.endpoint option is required for communications from the server to the proxy; the rest are required for communications from the proxy to the server.

Option name Description
rmt.proxy.endpoint=http://localhost:<port> Specify the port of the Foretify Manager proxy, typically 8081.
fmanager.endpoint=http://localhost:<port> Specify the port of the Foretify Manager server, typically 8080.
fmanager.user Specify the username of the Foretify Manager server admin.
fmanager.password Specify the password of the Foretify Manager server admin.
rmt.dao=<rmt> Specify the RMT that you want to integrate, either "jama", “magicdraw” or “doors”.
fmanager.realEndpoint=http://fmanager.mydomain.com:8080 This URL is used to create links in the RMT to VPlan sections. This host must be accessible to the clients.

To verify that server-proxy communications are working properly:

  1. Launch both Foretify Manager server and Foretify Manager proxy:

    Shell command: launch server and proxy
    $ {RELEASE_DIRECTORY}/server/bin/fmanager_server  
    $ {RELEASE_DIRECTORY}/server/bin/fmanager_proxy
    
  2. Verify that both Foretify Manager server and Foretify Manager proxy are up and accepting requests:

    Shell command: verify server and proxy
    $ curl ‘http://localhost:8080/api/systemInfo’  
    $ curl ‘http://localhost:8081/api/systemInfo’
    

Additional RMT-specific configurations need to be added to the application.properties file, as described below:

513.2 Configuring MagicDraw

To configure MagicDraw, you need to:

  1. Install the Cameo Requirements Modeler plugin.
  2. Install the Foretify Manager plugin.
  3. Set the MagicDraw FM Plugin properties.
  4. Add the MagicDraw configuration options to the application.properties file in ${RELEASE_DIRECTORY}/server/bin.
  5. Configure the MagicDraw project.

513.2.1 Install the Cameo Requirement Modeler Plugin

Install the Cameo Requirement Modeler Plugin, or verify that it is already installed in MagicDraw by clicking Help -> Resource/Plug in Manager and check that it appears under Plugins (Commercial).

513.2.2 Install the Foretify Manager Plugin

  1. Open the MagicDraw installation directory.
  2. Open the plugins directory.
  3. Create a new com.foretellix.mdplugin directory and open it.
  4. Extract the plugin JAR & XML files: plugin-21.11.22.zip.

513.2.3 Set the MagicDraw Plugin properties

To allow access from MagicDraw into Foretify Manager (for generating new VPlan sections from new requirements), the connection details and credentials need to be provided in a plugin.properties file: plugin.properties.

The file should be placed in MagicDraw’s installation directory.

In the plugin.properties file, the following settings are required for proper communication with Foretify Manager:

Option Description
fmanager.host The base URL for Foretify Manager server, for example, http://fmanager.mydomain.com:8080.
fmanager.username Foretify Manager user
fmanager.password Foretify Manager user’s password

Other optional settings are described in the table below:

Option Description
magicdraw.grade.property The property that stores the V&V grade. The default is V&V Grade.
magicdraw.grade.stereotype The stereotype containing the grade property. The default is Verifiable Requirement.
magicdraw.hyperlink.property The property that stores the VPlan section URL. The default is HyperlinkOwner.
magicdraw.hyperlink.stereotype The stereotype containing the hyperlink property. The default is hyperlinkTextActive.
magicdraw.profile The profile where the stereotypes above are defined. The default is ProfileNameExample.
plugin.port The plugin’s listening port. The default is 8585. If changed, you should specify the same port in Foretify Manager's application.properties file.
plugin.logs.console Specifies whether the plugin's internal log is displayed in MagicDraw’s console. The default is false.
plugin.logs.debug Specifies whether to display additional internal logs in McGraw's console. The default is false.

To verify that the Foretify Manager plugin is correctly configured and connected to MagicDraw:

  • Issue a GET/POST request to http://localhost:8585/api/requirement.

The response should be OK 200.

513.2.4 Foretify Manager Configuration for MagicDraw

To enable data transfer from Foretify Manager to MagicDraw, the hostname and port of the plugin need to be added to Foretify Manager's application.properties file:

  • rmt.magicdraw.host=http://localhost:8585

513.2.5 Configure MagicDraw Projects

The requirement items in any project synchronized with Foretify Manager need to be extended with new properties such as V&V Grade. These properties will be updated by the integration. To achieve that, a new Stereotype should be created, and the new property added in to it.

As specified in Customizing requirement properties from the MagicDraw documentation:

  1. Create a new Stereotype in a package:

    Right-click somewhere in the Containment Tree and select Create ElementStereotype.

  2. Name it Verifiable Requirement.

    If a different name is chosen, it needs to be configured in the plugin property magicdraw.grade.stereotype.

  3. Change its Metaclass to Class:

    Right-click and select Metaclass.

  4. Add a V&V Grade property to it:

    a. Right-click on it and select Create ElementProperty.

    b. Name it V&V Grade. If any other name is chosen, it needs to be configured in the plugin property magicdraw.grade.property.

    c. Set its Type to Real (floating-point number): Right-click the property and select SpecificationTypeReal.

  5. Extend the ExtendedRequirement (or any other type used for requirements):

    a. Right-click on the Stereotype and select Create RelationOutgoing.

    b. Choose Generalization.

    b. In the Create New Generalization form, click the ... icon to open the Add form, go to the List tab, clear the Apply Filter checkbox, filter for "ExtendedRequirement", and select it.

  6. Verify that the requirements were extended with the new property by the following methods:

    a. Open any requirement table

    b. Click Columns in the toolbar and then Select Columns.

    c. Filter for the newly created property and choose to display it.

513.3 Configuring IBM DOORS

This description will be extended in a future release.

513.3.1 Foretify Manager configuration for IBM DOORS

To enable data transfer from Foretify Manager to DOORS, the following options need to be added to Foretify Manager's application.properties file:

Option Description
rmt.doors.host Specifies the DOORS host, for example, https://doors.mydomain.com:8443/dwa)
rmt.doors.user Required even if a key and a secret code were provided.
rmt.doors.password
rmt.doors.key Required even if user and password were provided.
rmt.doors.secret
rmt.doors.vGradeAttributeName=V&V Grade Should match the field name in the DOORS project with special characters such as & specified in HTML. All the custom property names are printed in rmt-proxy.log.
rmt.doors.labelValidatedBy=V&V by Foretify Manager The label for the Validated By hyperlink.

513.4 Configuring Jama Connect

To configure Jama Connect:

  1. Create connection credentials.
  2. Configure requirement items.

513.4.1 Create Connection Credentials

To integrate Foretify Manager through Jama’s REST API, API credentials must be generated as described in the Jama Connect documentation Set API credentials:

  1. Log in to Jama.

    Note

    The user chosen here appears as the editor of the changes later made by Foretify Manager.

  2. Click on the user name in the top bar to go into My Profile.

  3. Click Set API Credentials.

  4. Enter a name and click Create API Credentials.

  5. Write down the Client ID and Client Secret.

    These appear only once. They need to be specified in Foretify Manager’s application.properties file.

513.4.2 Configure Requirement Items

The requirement items in any project synchronized with Foretify Manager need to be extended with new properties such as V&V Grade. These properties will later be updated by the integration:

  1. Log into Jama with an Admin user.

  2. Click Admin in the top bar.

  3. In the Organization tab, click Item Types.

    There might be multiple built-in or custom requirement types. You must perform the following steps for each type that is relevant for the integration. Otherwise, the type won’t be updated.

  4. Click Fields next to the type that needs to be extended.

  5. Add the V&V Grade field by performing the following steps:

    a. Click Add Field.

    b. Enter V&V Grade for the Field Label.

    c. Choose Float as the type in Custom Fields.

    d. Leave all checkboxes unmarked.

    e. Click Save.

  6. Add the VPlan Section Link field following the same steps as above, choosing URL as the type in Custom Fields.

  7. Specify the Unique Field Names for both fields in Foretify Manager’s application.properties file.

513.4.3 Foretify Manager Configuration for Jama

Add the following configurations to Foretify Manager’s application.properties file.

Option Description
rmt.jama.host Specifies the JAMA host, for example, https://me.jamacloud.com.
rmt.jama.clientId
rmt.jama.clientSecret
rmt.jama.vGradeFieldName=vv_grade Should match the name you specified for V&V Grade, all lower-case, spaces replaced by underscores, and special characters omitted.
rmt.jama.urlFieldName=vplan_section_link Should match the name you specified for VPlan Section Link.
rmt.jama.pollingPeriod=10 A non-zero duration (in seconds) to enable polling of new requirements.

513.5 Potential issues and how to overcome them

513.5.1 IPs and Ports

Always double-check that the settings match the IP/Port of PostgreSQL and Elasticsearch.

513.5.2 Proxy settings that filter the traffic

Sometimes the company's proxy filters the traffic and you cannot connect to the Foretify Manager server. Try to unset the $http_proxy variable:

Shell command: unset the http_proxy variable
unset http_proxy

And reload the Foretify Manager WEB page. If it doesn't work it must be something else.