Exercise 24.1 - Syndeia - GitLab Capabilities

Objectives

The new learning objectives of this exercise are to create a repository connection to a GitLab repository with the Syndeia Standalone Client, view the repository including search, and create a reference connection.

Preparation

This exercise assumes the student has

·         Syndeia 3.4 Standalone Client with a valid license for use,

·         Syndeia GitLab interface, correctly installed with a valid license for use,

·         Syndeia Cloud 3.4 installed with a valid user account,

·         A valid user account to a GitLab repository, and

The user can use any GitLab repository they have available.  Because the content of your GitLab repository will be different, the specific examples in the following exercise instructions are only a guide and example for your actions. It is generally advisable to carry out these exercises in a non-production repository, a “sandbox”, set up for training and practice purposes.

Background – GitLab

As envisioned by Intercax, the Digital Thread is composed of inter-model connections between models in different repositories, which Syndeia creates and manages, and intra-model connections between elements in the same repository, which the individual tool creates and manages. As of Syndeia release 3.4, Syndeia can extract and display some model information from the GitLab repository. Figure 1 shows a view of this information in the Syndeia dashboard Repository Manager with labels identifying the GitLab element types. Note the different icons. The label color coding indicates how the GitLab element type is mapped to the Syndeia Cloud element types: Repository (green), Container (red), and Artifact (blue).

This information is important in formulating and interpreting Syndeia graph queries. A more complete diagram of the GitLab data model as it is understood by Syndeia is available through the Syndeia help menu.

Figure 1 Repository Manager view of GitLab repository

Exercise

  1. Launch the Syndeia Dashboard (see Video 1.1) and open the Repository Manager tab (Figure 2).

    Figure 2 Syndeia Dashboard, Repository Manager tab

  2. If no repository connection to GitLab is available, right-click on GitLab in the left column and select Add... Complete the form and click OK (Figure 3).

    Figure 3 Adding a GitLab repository connection

  3. If a GitLab repository connection already appears under GitLab, but you need to add your own access credential, right-click on the repository in the left column and select Update…. Complete username and password and click Update (Figure 4).

    Figure 4 Updating GitLab repository info

  4. In the left column, select a GitLab repository connection (GitLab @ Intercax). Your repository should appear at the top of the right side. Expand it to show some Branches and Commits, as in Figure 5. See Background section for discussion of GitLab artifact types. It may be necessary to right-click the repository and select Refresh before it can be expanded.

    Figure 5 Viewing GitLab repository contents on Repository Manager tab

  5. On the right border, click the button labeled Search Repository. In the Search Repository window under New Search, select Project or Resources in a project.

    1. If Project is selected, select the GitLab Group to be searched from the Select group pull-down menu (refresh menu items if necessary), fill in the Text contained in the name… field and click Search.

    2. If Resources in a project is selected, select the GitLab Workspace to be searched from the Select project pull-down menu (refresh menu items if necessary), select the GitLab Repository to be searched from the Select repository pull-down menu (refresh menu items if necessary), select branch, commit, issue, source or tag, fill in the Text contained in the name… field and click Search. In our example, we entered Intercax/HelloGitLab for project, commit and new for Test. The result(s) of the search are shown on the right, as in Figure 6.

      Figure 6  Syndeia dashboard, Repository Manager tab, Search feature (search result highlighted in red)

    3. Click outside the Search window to close it.

  6. To create a reference connection between a GitLab item and an element in another repository, go to the Connection Manager tab, select and expand the GitLab repository in one column and the second repository in the other. In our example in Figure 7, we have opened GitLab on the left and DOORS NG on the right.

    Figure 7 Syndeia dashboard, Connection Manager tab, creating reference connection

    1. Select Reference as the Connection Type in the center column.

    2. Create a reference connection by dragging an element in one column on top of an element in the other. Confirm that you want to create a reference connection. In our example, we dragged the software_specification.txt file in GitLab onto the 417 – Test Requirement requirement in DOORS NG.

      Note: In Syndeia release 3.4, it is not possible to create Model Transform inter-model connections to GitLab. Some use cases of this type may be added in future releases.

  7. Having created the reference link, we can open either the source (GitLab software_specification.txt) or target (DOORS 417 – Test Requirement) from the connection in the Connection Search tab. In Figure 8, we click Get All to load the latest connections and open the GitLab file.

    Figure 8  Syndeia dashboard, Connection Search tab, opening GitLab file in browser from Syndeia connection

  8. The reference link can be used to detect changes in the GitLab file from the Syndeia dashboard.

    1. Edit the GitLab file opened in the previous step, commit a new version, and merge back into the master branch.

    2. In the Connection Search tab of the Syndeia dashboard, click Get All to ensure that all connections are showing. Right-click the same reference connection in Figure 8 and select Compare Source and Target.

  9. The result of the compare operation is displayed as red (Figure 9) in a difference table. The Comment field states
    “Source artifact of this connection is software_specification.txt (version 37c36…) but a newer version software_specification.txt (version b2a72…) is available. Target artifact of this connection is Test Requirement (version …) which is also the latest version”

    Figure 9  Syndeia dashboard, Comparison Result tab

  10. The reference connection can be updated to point to the latest version of the GitLab file by right-clicking on the connection in the Connection Search tab (Figure 8) or the Comparison Result tab (Figure 9) and selecting either Sync Source -> Target or Sync Target  -> Source. The result is the same for reference connections.