Exercise 23.1 - Syndeia - Bitbucket Capabilities

Objectives

The new learning objectives of this exercise are to create a repository connection to a Bitbucket 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 Bitbucket 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 Bitbucket repository, and

The user can use any Bitbucket repository they have available.  Because the content of your Bitbucket 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 – Bitbucket

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 Bitbucket repository. Figure 1 shows a view of this information in the Syndeia dashboard Repository Manager with labels identifying the Bitbucket element types. Note the different icons. The label color coding indicates how the Bitbucket 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 Bitbucket data model as it is understood by Syndeia is available through the Syndeia help menu.

Figure 1 Repository Manager view of Bitbucket repository

Exercise

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

    Figure 2 Syndeia Dashboard, Repository Manager tab

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

    Figure 3 Adding a Bitbucket repository connection

  3. If a Bitbucket repository connection already appears under Bitbucket, 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 Bitbucket repository info

  4. In the left column, select a Bitbucket repository connection (Bitbucket @ 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 Bitbucket artifact types. It may be necessary to right-click the repository and select Refresh before it can be expanded.

    Figure 5 Viewing Bitbucket 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 Repository or Resources in a repository.

    1. If Repository is selected, select the Bitbucket Workspace to be searched from the Select workspace pull-down menu (refresh menu items if necessary), fill in the Name… field and click Search.

    2. If Resources in a repository is selected, select the Bitbucket Workspace to be searched from the Select workspace pull-down menu (refresh menu items if necessary), select the Bitbucket Repository to be searched from the Select repository pull-down menu (refresh menu items if necessary), select branch, commit or tag, fill in the Name… field and click Search. In our example, we entered Intercax for Workspace, BigBang for Repository, commit and biblio for Name. 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 Bitbucket item and an element in another repository, go to the Connection Manager tab, select and expand the Bitbucket repository in one column and the second repository in the other. In our example in Figure 7, we have opened the Bitbucket repository on the left and Artifactory 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 master/README file in Bitbucket onto the UAF_1.0.pdf file in Artifactory.

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

  7. Having created the reference link, we can open either the source (Bitbucket README) or target (Artifactory UAF_1.0) from the connection in the Connection Search tab. In Figure 8, we click Get All to load the latest connections and open the Bitbucket file.

  8. The reference link can be used to detect changes, i.e. a new commit, in the Bitbucket file from the Syndeia dashboard.

    1. Edit the Bitbucket README file opened in the previous step and commit the new version.

    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.

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

  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 README.md (version ea147…) but a newer version README.md (version a912e) is available. Target artifact of this connection is UAF_1.0.pdf (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 Bitbucket 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.