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:
-
Configure the Foretify Manager server and proxy by specifying various options in an applications.properties file.
-
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.
-
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:
-
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 -
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:
- Foretify Manager Configuration for MagicDraw
- Foretify Manager Configuration for IBM DOORS
- Foretify Manager Configuration for Jama
513.2 Configuring MagicDraw
To configure MagicDraw, you need to:
- Install the Cameo Requirements Modeler plugin.
- Install the Foretify Manager plugin.
- Set the MagicDraw FM Plugin properties.
- Add the MagicDraw configuration options to the application.properties file in ${RELEASE_DIRECTORY}/server/bin.
- 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
- Open the MagicDraw installation directory.
- Open the plugins directory.
- Create a new com.foretellix.mdplugin directory and open it.
- 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:
-
Create a new Stereotype in a package:
Right-click somewhere in the Containment Tree and select Create Element → Stereotype.
-
Name it Verifiable Requirement.
If a different name is chosen, it needs to be configured in the plugin property magicdraw.grade.stereotype.
-
Change its Metaclass to Class:
Right-click and select Metaclass.
-
Add a V&V Grade property to it:
a. Right-click on it and select Create Element → Property.
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 Specification → Type → Real.
-
Extend the ExtendedRequirement (or any other type used for requirements):
a. Right-click on the Stereotype and select Create Relation → Outgoing.
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.
-
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:
- Create connection credentials.
- 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:
-
Log in to Jama.
Note
The user chosen here appears as the editor of the changes later made by Foretify Manager.
-
Click on the user name in the top bar to go into My Profile.
-
Click Set API Credentials.
-
Enter a name and click Create API Credentials.
-
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:
-
Log into Jama with an Admin user.
-
Click Admin in the top bar.
-
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.
-
Click Fields next to the type that needs to be extended.
-
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.
-
Add the VPlan Section Link field following the same steps as above, choosing URL as the type in Custom Fields.
-
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:
unset http_proxy
And reload the Foretify Manager WEB page. If it doesn't work it must be something else.