Exercise 24.1 - GitLab Integration on Web Dashboard

Objectives

The new learning objectives of this exercise are to create a repository connection to a GitLab repository on the Syndeia Web Dashboard (SWD), view the repository including properties, relations and search, and create a reference connection.

Preparation

This exercise assumes the student has

·         Syndeia Cloud 3.4 installed with a valid user account,

·         A valid user account to a GitLab repository, and

·         A valid user account to a at least one other on-line repository, e.g. JIRA.

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.

See Video 1.9 for an introduction to the Syndeia Web Dashboard.

 

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, the Syndeia Web Dashboard can extract and display some model information from the GitLab repository. Figure 1 shows a tree view of this information, 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).

In the case of the Syndeia GitLab integration, the Relations table (Step 7) and the Digital Thread Explorer (Step 9 onwards) do not display any intra-model connection types, only inter-model connections.

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 web dashboard help menu on the left.

Figure 1 Tree view of GitLab repository

Exercise

  1. Log on to the Syndeia Cloud Web Dashboard (see Video 1.9) and click on the Repositories icon on the left border (Figure 2).

    Figure 2 SWD Repositories page (initial) – Repositories icon outlined in red

  2. If no repository connection to GitLab is available, select GitLab in the left column, then click the + icon at the top of the column. Complete the form and click Create (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, select the GitLab repository and click the Gear icon at the top of the column. Complete the form and click Update (Figure 4).

    Figure 4 Updating GitLab repository info

  4. Your repository should load. Expand it to show Branches and Commits, as in Figure 5. See Background section for discussion of GitLab artifact types.

    Figure 5 Viewing GitLab repository contents on Repositories page

  5. On the right border, there are three icons, labeled Details, Relations and Search. Select a GitLab element in the Tree View column (the master branch in our example) and click on the Details icon. A Detail list appears to the right as in Figure 6. Scroll down and review the attributes of the GitLab element that are available to Syndeia 3.4, including name and modifiedDate. Note that the Details display may have more than one page. Click the Details icon again to close the list.

    Figure 6 SWD Repositories page, Details list (Details icon highlighted in red)

  6. Click the Search icon on the right.

    1. In the Search window, select Project or Resources in a project. If Project is selected, select the Group from the pull-down menu, fill int the Text contained in the name field and click Search.

    2. If Resources in a project is selected, select the GitLab Project to be searched from the Project pull-down menu, select the type of GitLab element to be searched for from the Select Type* pull-down menu, fill in the Text contained in the name field and click Search. In our example, we entered Sandbox for Project, branch for type, and patch for Text contained in the name. The result(s) of the search are shown on the right, as in Figure 7.

    3. Click the Search icon again to close the Search window.

      Figure 7  SWD Repositories page, Search feature (Search icon and search result highlighted in red)

  7. Select a GitLab element in the Tree View column (master in our example) and click on the Relations icon on the right.

    1. In the Relations window (Figure 8), you will see a list of Inter-model relations, from the selected GitLab element to other non-GitLab models, and a list of Intra-model relations, from the selected GitLab element to other GitLab elements in the same GitLab repository. In this example, there are three Inter-model relations, one to a Jama requirement and two to Aras parts.  As discussed in the Background section earlier, Syndeia 3.4 does not recognize any intra-model relationship types with GitLab (or the other integrated Git repositories).

      Figure 8  SWD Repositories page, Relations lists (Relations and Add icons highlighted in red)

  8. To create a reference connection between the selected GitLab item and an element in another repository, click on the + (Add) icon highlighted in Figure 8. A Create Reference Relationships window will appear as in Figure 9.

    1. At the top, either select an existing Syndeia project to save the connection within (DZSB11 in our example) or create a new project. See Video 1.5 on creating Syndeia projects for further discussion.

    2. Under Select target artifact, choose the other repository to which the new connection will be made. In our example this is JIRA @ Intercax.

    3. If you have valid access to this repository, its contents will appear at the bottom of the window. Scroll down to the element that will be the target of the new connection and click the checkbox beside it. This is JIRA issue SDB-2134 in our example.

    4. Each Syndeia connection has a directionality. The Select direction pull down menu higher up in the window allows the directionality to be set as desired before the connection is made.

    5. Click on the Create Reference Connection button at the bottom. The new connection should appear in the Inter-model list after the Reload icon is clicked.

    6. Click the Relations icon again to close the Relations window.

      Note: In Syndeia release 3.4, it is not possible to create Model Transform inter-model connections or intra-model connections through the SWD. Some of those use cases will be added in future releases.

      Figure 9  SWD Create Reference Relationship window

  9. The Digital Thread Explorer or DTE (Figure 10 - Figure 12) provides interactive visualization of inter-model and intra-model connections in a graph format. To launch DTE, right-click an item in the Tree View and choose Graph View. In our example, this is a GitLab branch master. Initially, it appears as a single node in the Graph View, as in Figure 10.

    Figure 10  DTE, stage 1

  10. Click on the node (it will show a black border when selected), right-click on it and choose Expand. If this element has any connections, they should appear as in Figure 11. In our example, the initial element had four inter-model connections, to a JIRA issue (brown), a Jama requirement (dark green) and a double connection to an Aras item (tan).

    Figure 11  DTE, stage 2

  11. If I right-click on one of the new nodes (Jama Functional R…) and expand it, additional edges and nodes are displayed (Figure 12), inter-model connections to Confluence, Cameo, Teamwork Cloud, and others. This process can continue until all connections are displayed.

    Figure 12  DTE, stage 3

  12. GitLab elements in either the Graph View or the Tree View offer direct access to that element in the GitLab repository. If I right-click on master in the diagram in Figure 12 and choose More Details, my browser will open to the same element in GitLab as in Figure 13 (I may be required to log-in to GitLab first). 

    Figure 13  GitLab browser interface launched from Syndeia Web Dashboard