/
Exercise 29.3 - Browsing RESTful repositories and creating relations:

Exercise 29.3 - Browsing RESTful repositories and creating relations:

This is the third hands-on exercise to learn about the Syndeia RESTful Integration capability introduced in Syndeia 3.5.

In this exercise, we will browse the RESTful Requests and Collections added in the previous exercises and create relations to artifacts in other repositories, such as Jama (for requirements management), Jira (for project tracking), GitHub (for software development), and Windchill (for hardware design). We understand that as a Syndeia user you may or may not be working with these specific repositories (Jama, GitHub, Jira, and Windchill). Follow the general steps in this tutorial to connect to other types of repositories you may be using with Syndeia, e.g. DOORS NG, Confluence, TestRail, and so on.

Objectives

The learning objectives of this exercise are as follows:

  1. Browse Requests and Collections

  2. View responses to Requests

  3. Create relations between response data and artifacts in other repositories

  4. Browse relations in the Digital Thread Explorer

Preparation

This exercise assumes that the student has done the following preparations.

  1. Reviewed the content presented in Introduction to REST APIs and Syndeia RESTful Integration

  2. Able to access Syndeia Cloud 3.5 with a valid user account

  3. Successfully completed the first two tutorials:

    1. Exercise 29.1 - Adding your first RESTful Repository and Request.

    2. Exercise 29.2 - Organizing Requests in Collections.

Exercise

This tutorial includes step-by-step instructions to browse RESTful Requests and Collections, view responses to Requests, and create relations to artifacts in other repositories.

1/ As a first step, it is important to review the following concepts that have been introduced in the previous tutorials.

  • RESTful Repository - Any enterprise service or tool that provides a RESTful API and is added to Syndeia as a repository

  • RESTful Collection - Logical groupings of Requests. In the previous tutorials, you created two collections to manage all requests related Rockets and Payloads respectively.

  • RESTful Request - Request (command) sent to a repository (tool/service) via its RESTful API. In the previous tutorials, you created three GET Requests to: (1) Get data for all rockets, (2) Get data for a specific rocket (Falcon Heavy), and (3) Get all Payloads.

  • RESTful Response / RESTful Artifact - Response to the RESTful Request from the repository. The Response is available in Syndeia as a RESTful Artifact that can be connected with artifacts from other repositories to build a digital thread. The full JSON data in the Response is available as attributes of the RESTful Artifact.

Figure 1: RESTful Repository, Collection, Request, and Response

2/ Under the SpaceX Data repository, expand the GET all Rockets Request (green G icon). This action sends the Request to the SpaceX Data repository. The response received from the repository is shown under the Request and labeled as Response from [GET ‘rockets’]. This response is a RESTful Artifact in Syndeia.

Figure 2: Response to a RESTful Request is a RESTful Artifact

RESTful artifact (Response) is shown with the following icons that match standard JSON syntax.

  • Square brackets [ ] indicate arrays of JSON objects

  • Curly braces { } indicate a single JSON object with key-value pairs

  • “ “ indicate primitive data, e.g. Strings, Integers, Booleans, Float/Double, etc.


3/ Expand the RESTful Artifact Response from [GET ‘rockets’] and you should see details { } of four specific rockets. Expand the first rocket { } and you will see attributes and values of a specific rocket, such as the mass, stages, and rocket_name for the Falcon 1 rocket.

Figure 3: Browse details of a RESTful Artifact

4/ Similarly, expand the RESTful Request Get Falcon Heavy. This action sends the Request to the SpaceX Data repository to fetch the “Falcon Heavy” rocket data. The response received from the repository is shown under the Request and labeled as Response from [GET ‘rockets/falconheavy’]. This response is a RESTful Artifact in Syndeia.

Figure 4: Falcon Heavy rocket RESTful Artifact

5/ Now, we will create inter-model relations from and to the Falcon Heavy rocket. Navigate to RESTful Artifact Response from [GET ‘rockets/falconheavy’] in the Connection Manager on the LHS, as shown in the figure below.

Figure 5: Falcon Heavy rocket artifact in Connection Manager tab LHS

The next few steps demonstrate creation of reference relations from/to RESTful artifact to artifacts in Jama (for requirements management), Jira (for project tracking), GitHub (for software development), and Windchill (for hardware design). We understand that as a Syndeia user you may or may not be working with these specific repositories (Jama, GitHub, Jira, and Windchill). Follow the general steps to connect to artifacts in other repositories you may be using with Syndeia, e.g. DOORS NG, Confluence, TestRail, and so on.

6/ Follow the steps below to create a reference relation from a Jama requirement to the RESTful artifact.

  • Select a Jama repository from the drop-down on the RHS of the Connection Manager

  • Navigate to a specific requirement spec, e.g. Rocket Requirement Specification, that you want to connect to the Falcon Heavy RESTful artifact. In this case, the Rocket Requirement Specification is intended to be satisfied by the Falcon Heavy artifact.

  • Select Reference under Connection Type in the middle column and drag and drop Rocket Requirement Specification onto Response from [GET 'rockets/falconheavy']

  • Click on the Yes button to create a reference relation.

Figure 6: Creating reference connection from Jama artifact Rocket Requirement Specification to Falcon Heavy rocket artifact

7/ Go to the Connection Search tab and click Get All. You should see the new connection as shown below.

Figure 7: New reference connection from Jama artifact Rocket Requirement Specification to Falcon Heavy rocket artifact

8/ Follow the steps 6-7 to create a reference relation from the Falcon Heavy artifact to the Rocket Assembly part in Windchill. In this case, the Rocket Assembly is the hardware design for the Falcon Heavy rocket.

Figure 8: Creating reference connection from Falcon Heavy rocket artifact to Windchill part Rocket Assembly

9/ Follow the same steps as above to create a reference relation from the Falcon Heavy artifact to the Rocket Controller software module in GitHub, as shown below. In this case, the Rocket Controller module represents the software code for the Falcon Heavy rocket controller assembly.

Figure 9: Creating reference connection from Falcon Heavy rocket artifact to GitHub artifact Rocket_Controller.py

10/ Follow the same steps as above to create a reference relation from the Falcon Heavy artifact to the Rocket development task in Jira, as shown below. In this case, the Rocket development task in Jira (SDB-2728) represents the main task (with sub-tasks) for the Falcon Heavy rocket development.

Figure 10: Creating reference connection from Falcon Heavy rocket artifact to Jira task SDB-2728

11/ Go to the Connection Search tab and click Get All. You should see the new connections as shown below.

Figure 11: New reference connections from Falcon Heavy rocket artifact

12/ Optional: Go to the Syndeia Web Dashboard and navigate to the Falcon Heavy RESTful artifact in the Tree view and select Graph View as shown below.

Figure 12: Select Graph View from Falcon Heavy rocket artifact

This will open the Digital Thread Explorer. You should now see the Falcon Heavy artifact in the Graph View as a node. Right-click on the node and select Expand, as shown in the figure below.

Figure 13: Expand Falcon Heavy rocket artifact in Graph View

You should now see the four (4) inter-model relations created in steps 5-10 in the Graph View. The nodes in the graph are color-coded indicating the repository to which they belong. Falcon Heavy RESTful artifact is shown in red, Jama requirement is shown in orange, Jira issue is shown in blue, Windchill part is shown in green, and GitHub file is shown in gray. The directions of the edges correspond to the direction of the relationships created in steps 9-14. You can further expand any of the nodes shown in the graph to fetch both inter-model relations (from/to artifacts in other repositories) and intra-model relations (from/to artifacts in the same repository).

To learn more about Digital Thread Explorer, refer to Digital Thread Explorer (DTE).

Figure 14: Expanded Graph View showing immediate connections to Falcon Heavy rocket artifact

This is the end of the tutorial.

  • If you were able to complete all the steps in this tutorial successfully, Congratulations! You have successfully connected artifacts originating from RESTful repositories to artifacts in other repositories and viewed the relations in the Digital Thread Explorer.

  • If you were not able to complete the steps in this tutorial successfully, feel free to contact us via our helpdesk. Our team will be happy to assist you.

Related content