Steps to follow to draw trace-ability dashboard through insights UI:- Download Below are the pre-requisites to be setup in order to view Traceability dashboard . Mandatory properties in datamodel.json:- - order: order is important property which is responsible for the pipeline tool sequence in which it is displayed on the UI.
- uptool : the parent tool for the current tool in relationship.
- downtool : the child tool for the current tool in the relationship.
- messages : the property essential for showing summary info on the UI.
- toolName.
- author.
- toolstatus.
Select the tool name and respective property name and fill the value to see the pipeline as shown below: Image Removed datamodel.json file has structured format and having collection of JsonObject as below.(Sample Ref) { "JIRA": { "uuid" :"uuid", "order" :1, "toolName": "toolName", "toolstatus": "jiraStatus", "timestamp": "inSightsTime", "inSightsTimeX":"inSightsTimeX", "uptool":["null"], "downtool":["GIT"], "uifilter":["jiraKey","projectName"], }, "GIT": { "uuid":"uuid", "order" :2, "inSightsTimeX":"inSightsTimeX", "toolName": "toolName", "toolstatus": "Committed", "author": "gitAuthorName", "timestamp": "inSightsTime", "uptool":["JIRA"], "downtool":["JENKINS"], "gitCommiTime":"gitCommiTime", "messages" : [ {"Message":"Commit Information - Commits performed over a period of {0} by {1} unique developer(s)","Operation":"TIMEDIFF","OperandName":"timestamp","OperandValue":"} ], "uifilter":["commitId"] } Info |
---|
title | Keys in datamodel.json is sent to UI and values are the keys of neo4j nodes which is turn replaced by values of neo4j node |
---|
|
|
datamodel.json file is divided into three sections : - Pipeline Properties . (Mandatory Properties)
uuid : uuid of the neo4j node. order : the order needs to be set to each tool in order to maintain sequence in pipeline view the order is integer value for ex( order:1,2,3....etc).
toolName: toolname of the node .- toolstatus : toolstatus of the node.
- timestamp : Insights Time is epoc format , for ex ( "timestamp": "inSightsTime")
- uptool: JsonArray maintaining parent relationship for ex (for JENKINS uptool can be GIT and is mentioned as uptool:["GIT"].
- downtool: JsonArray maintaining child relationship for ex (for JENKINS downtool can be SONAR and RUNDECK and is mentioned as downtool:["SONAR","RUNDECK"].
- inSightsTimeX: this is Insights Time.
- author: auther name (Mandatory for the SCM category optional for other categories)
- Summary Info Properties (Mandatory Property for summary information display )
- message : array of message objects having 4 properties.
- Message : this is standard message shown on the screen , currently 3 standards messages are being supported.
- Commit Information - Commits performed over a period of {0} by {1} unique developer(s) (To be part of any SCM tool)
- Build Information - {0} Passed {1} Failed (To be part of any build tool)
- Deployment - {0} Successful Deployments {1} Failed Deployments (To be part of any deployment tool)
- Operation : this is aggregation function name currently there are 2 operations supported .
- SUM : this operation is used to sum based on provided parameters.
- TIMEDIFF : this operation is used to calculate the diff in timestamp with provided input (To be part of SCM category)
- OperandName: this is the name of the property in datamodel on which the operation is performed for ex( if operation is TIMEDIFF and OperandName is timestamp then TIMEDIFF is calculated on timestamp )
- OperandValue: this is mandatory field for the SUM operation for ex ( Message Clause is : Deployment - {0} Successful Deployments {1} Failed Deployments and Operation is SUM and OperandName is Success then it is calculate the no of nodes having Success status and it value gets replaced in first place {0} and Total - Success nodes gets replaced in {1}
- UIFilter Properties (Mandatory Properties displayed in dropdown )
- uifilter : Array of neo4j properties for ex (uifilter for the JENKINS could be "uifilter":["buildNumber","projectName"] meaning buildNumber and projectName is displayed on the UI dropdown
Note |
---|
title | Apart from the above mandatory properties other extra properties also can be mentioned in the datamodel as key can any string and value is the neo4j property |
---|
|
|
- Steps to follow on UI
- From the first dropdown select the tool name .(Jira as selected below)
- From the second drop down select the property for the tool name (this dropdown is loaded from the datamodel uifilter property)(jiraKey as selected below)
- paste the value of the selected property (LS-7145856944 as pasted below)
- click on the submit button to get the pipeline view
Image Added |