Graph Import plugin
For more information about what this plugin does and the data streams it retrieves, see:
The Graph Import plugin allows you to add a data source to index custom data in SquaredUp.
Using the JSON schema you can add new objects (known as vertices in the schema) and relationships (edges in the schema) to the Map. The Map is sometimes referred to as the "graph", hence the name "Graph Import".
This makes the objects available on dashboards, drilldowns and via the search.
This data source is for advanced users, as the data must match the specified schema.
To add a data source click on the + next to Data Sources on the left-hand menu in SquaredUp. Search for the data source and click on it to open the Configure data source page.
Configuring the data source
Display Name:
Enter a name for your data source. This helps you to identify this data source in the list of your data sources.- URL/Endpoint:
Provide a URL endpoint to fetch data from. - Method:
Choose either GET or POST as your HTTP method. Restrict access to this data source:
You can enable this option if you only want certain users or groups to have access to the data source, or the permission to link it to new workspaces. See Access control for more information.The term data source here really means data source instance. For example, a user may configure two instances of the AWS data source, one for their development environment and one for production. In that case, each data source instance has its own access control settings.
By default, Restrict access to this data source is set to off. The data source can be viewed, edited and administered by anyone. If you would like to control who has access to this data source, switch Restrict access to this data source to on.
Use the Restrict access to this data source dropdown to control who has access to the workspace:
- By default, the user setting the permissions for the data source will be given Full Control and the Everyone group will be given Link to workspace permissions.
- Tailor access to the data source, as required, by selecting individual users or user groups from the dropdown and giving them Link to workspace or Full Control permissions.
- If the user is not available from the dropdown, you are able to invite them to the data source by typing in their email address and then clicking Add. The new user will then receive an email inviting them to create an account on SquaredUp. Once the account has been created, they will gain access to the organization.
- At least one user or group must be given Full Control.
- Admin users can edit the configuration, modify the Access Control List (ACL) and delete the data source, regardless of the ACL chosen.
Access Level:
See Access control for more information.
Click Add.
You can also add a data source from Settings > Data Sources > Add data source, but sample dashboards are not added when using this method.
Next steps
Using the Graph Import data source
This data source uses the JSON schema to import new objects into SquaredUp.
The JSON schema
The data should contain one or both of the following two array properties:
{
"vertices": [], // An array of vertices - see Vertex section below
"edges": [] // An array of edges - see Edge section below
}
Vertex
Mandatory and optional properties of each vertex are shown below. Other properties, specific to the particular object type the vertex represents may also be present.
{
"sourceId": "string", // Mandatory. Unique ID for this object, from your source - e.g. azure pipeline ID. This does not need to be globally unique, but should be unique within your data source.
"sourceType": "string", // Mandatory. the source type of this object, e.g. "Azure.DevOps.Project", "zendesk_ticket", etc.
"sourceName": "string", // Optional. Name displayed when grouping search results or in grouped visualizations like graph-nodes-as-blocks, e.g. "Azure DevOps Projects" or "Zendesk Tickets". If not provided, the underlying sourceType will be used instead.
"name": "string", // Mandatory. Name of the object, displayed in the UI.
"monitorUrl": "url", // Optional. If this is a monitor or an object being monitored (e.g. an app), specify the URL(s) being monitored. A single string or an array of strings can be specified where there are multiple monitored URLs.
"links": [ // Optional. An array of external links that will be shown in a dropdown in the web app on this item.
{
"url": "url", // Mandatory.
"label": "string" // Mandatory. Link text.
}
]
// Any other properties can be added and will be stored in the graph.
// These can then be used in tiles or for scoping / possibly filtering.
}
Edge
Each edge should contain the following three properties. Take great care that the label matches the direction of the edge. If your data source has an edge type labeled “contains” intended to connect folder and file objects, the inV
value should be the sourceId
of the file object.
Example:
{
"vertices": [{
"sourceId": "1",
"sourceName": "Import",
"name": "Alice",
"sourceType": "person"
},
{
"sourceId": "2",
"sourceName": "Import",
"name": "Bob",
"sourceType": "person"
}
],
"edges": [{
"outV": "1",
"inV": "2",
"label": "reports to"
}]
}