Exercise 23.1 - Bitbucket Integration on Web Dashboard
Objectives
The new learning objectives of this exercise are to create a repository connection to a Bitbucket 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 Bitbucket repository, and
· A valid user account to at least one other on-line repository, e.g. JIRA.
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.
See Video 1.9 for an introduction to the Syndeia Web Dashboard.
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, the Syndeia Web Dashboard can extract and display some model information from the Bitbucket repository. Figure 1 shows a tree view of this information, 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).
In the case of the Syndeia Bitbucket 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 Bitbucket data model as it is understood by Syndeia is available through the web dashboard help menu on the left.
Figure 1 Tree view of Bitbucket repository
Exercise
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
If no repository connection to Bitbucket is available, select Bitbucket 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 Bitbucket repository connection
If a Bitbucket repository connection already appears under Bitbucket, but you need to add your own access credential, select the Bitbucket repository and click the Gear icon at the top of the column. Complete username and password and click Update (Figure 4).
Figure 4 Updating Bitbucket repository info
Your repository should load. Expand it to show Branches and Commits, as in Figure 5. See Background section for discussion of Bitbucket artifact types.
Figure 5 Viewing Bitbucket repository contents on Repositories page
On the right border, there are three icons, labeled Details, Relations and Search. Select a Bitbucket element in the Tree View column (the develop 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 Bitbucket 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)
Click the Search icon on the right.
In the Search window, select the Workspace from the pull-down menu.
Select Repository or Resources in a repository. If Repository is selected, fill int the Name field and click Search.
If Resources in a repository is selected, select the Bitbucket Repository to be searched from the Repository pull-down menu, select the type of Bitbucket element to be searched for from the Select Type* pull-down menu, fill in the Name field and click Search. In our example, we entered mathematica for Repository, branch for type, and master for Name. The result(s) of the search are shown on the right, as in Figure 7.
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)
Select a Bitbucket element in the Tree View column (develop in our example) and click on the Relations icon on the right.
In the Relations window (Figure 8), you will see a list of Inter-model relations, from the selected Bitbucket element to other non-Bitbucket models, and a list of Intra-model relations, from the selected Bitbucket element to other Bitbucket elements in the same Bitbucket repository. In this example, there is one Inter-model relation, to a JIRA issue. As discussed in the Background section earlier, Syndeia 3.4 does not recognized any intra-model relationship types with Bitbucket (or the other integrated Git repositories).
Figure 8 SWD Repositories page, Relations lists (Relations and Add icons highlighted in red)
To create a reference connection between the selected Bitbucket 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.
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.
Under Select target artifact, choose the other repository to which the new connection will be made. In our example this is Aras @ Intercax.
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 Aras item Part A (A.9) in our example.
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.
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.
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
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 Bitbucket branch develop. Initially, it appears as a single node in the Graph View, as in Figure 10.
Figure 10 DTE, stage 1
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 two inter-model connections, to a JIRA issue (brown) and an Aras item (tan).
Figure 11 DTE, stage 2
If I right-click on one of the new nodes (JIRA SDB-2132) and expand it, an additional edge and node are displayed (Figure 12), an inter-model connection to a Confluence page (blue-green). This process can continue until all connections are displayed.
Figure 12 DTE, stage 3
Bitbucket elements in either the Graph View or the Tree View offer direct access to that element in the Bitbucket repository. If I right-click on develop in the diagram in Figure 12 and choose More Details, my browser will open to the same element in Bitbucket as in Figure 13 (I may be required to log-in to Bitbucket first).
Figure 13 Bitbucket browser interface launched from Syndeia Web Dashboard