Skip to main content

OpsLevel

OpsLevel is a system management tool that provides visibility into your organization's operational infrastructure. You can bring infrastructure, repository, service, team, and user data from OpsLevel into Brinqa to enhance oversight of your security framework, thus strengthening your cybersecurity posture.

This document details the information you must provide for the connector to authenticate with OpsLevel and how to obtain that information from OpsLevel. See create a data integration for step-by-step instructions on setting up the integration.

Required connection settings

When setting up a data integration, select OpsLevel from the Connector drop-down. If you cannot find the connector in the drop-down, make sure that you have installed it first. You must provide the following information to authenticate OpsLevel with Brinqa:

  • API URL: The OpsLevel API Server URL: The default URL is https://app.opslevel.com.

  • API token: The API token associated with the OpsLevel account, which must have permissions to log in to the API server and return data.

Generate an OpsLevel API token

For the OpsLevel connector to retrieve data from the OpsLevel API, you must provide an API token. To generate an API token, follow these steps:

  1. Log in to your OpsLevel portal as an administrator.

  2. Click API in the navigation menu.

  3. Click Create API Token.

    OpsLevel API Token

    The "Create API Token" dialog displays.

  4. Provide a description for the token, and then click Create API Token.

    Your new API token displays. You can't view the token again after this. Copy and save it to a secure location.

    OpsLevel API Token created

note

If you do not have the permissions to create an API token, contact your OpsLevel administrator. For additional information, see OpsLevel documentation.

Additional settings

The OpsLevel connector contains an additional option for specific configuration:

  • Maximum retries: The maximum number of times that the integration attempts to connect to the OpsLevel API before giving up and reporting a failure. The default setting is 5.

Types of data to retrieve

The OpsLevel connector can retrieve the following types of data from the OpsLevel API:

Table 1: Data retrieved from OpsLevel

Connector ObjectRequiredMaps to Data Model
InfrastructureYesHost
RepositoryYesCode Repository
ServiceYesApplication
TeamYesTeam
UserYesPerson
info

The OpsLevel connector does not currently support operation options for the types of data it retrieves.

For detailed steps on how to view the data retrieved from OpsLevel in the Brinqa Platform, see How to view your data.

Attribute mappings

Expand the sections below to view the mappings between the source and the Brinqa data model attributes.

Repository

Table 2: Repository attribute mappings

Source Field NameMaps to Attribute
repository.archivedAtarchivedAt
repository.createdOnsourceCreatedDate
repository.defaultAliasalias
repository.defaultBranchdefaultBranch
repository.descriptiondescription
repository.forkedforked
repository.iduid
repository.languageslanguages
repository.lockedlocked
repository.namename
repository.organizationorganization
repository.ownerowner
repository.repoKeyrepoKey
repository.typerepoType
repository.urlurl
repository.visibilityvisibility
repository.visiblevisible
repository.tiertier
Service

Table 3: Service attribute mappings

Source Field NameMaps to Attribute
node.iduid
service.aliasesaliases
service.dependenciesdependencies
service.descriptiondescription
service.frameworkframework
service.languagelanguages
service.lifecyclelifecycle
service.namename
service.ownerowner
service.productproduct
service.propertiesproperties
service.repositoriesrepositories
service.systemsystem
service.tagstags
service.tiertier
service.toolstools
Team

Table 4: Team attribute mappings

Source Field NameMaps to Attribute
team.aliasesaliases
team.iduid
team.namename
team.responsibilitiesdescription
User

Table 5: User attribute mappings

Source Field NameMaps to Attribute
user.emailemails
user.iduid
user.namename
user.rolerole

APIs

The OpsLevel connector uses the OpsLevel GraphQL API. Specifically, it uses the following queries:

Infrastructure GraphQL query
query get_infrastructure($endCursor: String) {
account {
infrastructureResources(after: $endCursor) {
nodes {
aliases
data
href
id
name
lastSyncedAt
providerData {
accountName
externalUrl
providerName
}
providerResourceType
rawData
tags {
nodes {
key
value
}
}
type
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
Repository GraphQL query
query get_repositories($endCursor: String) {
account {
repositories(after: $endCursor) {
nodes {
id
name
archivedAt
createdOn
defaultAlias
defaultBranch
description
forked
languages {
name
}
locked
organization
owner {
id
}
repoKey
type
url
visibility
visible
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
Service GraphQL query
query get_services($endCursor: String) {
account {
services(after: $endCursor) {
nodes {
name
id
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
Team GraphQL query
query get_teams($endCursor: String) {
account {
teams(after: $endCursor) {
nodes {
id
name
aliases
responsibilities
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
User GraphQL query
query get_users($endCursor: String) {
account {
users(after: $endCursor) {
nodes {
id
name
role
teams {
nodes {
id
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}

Changelog

The OpsLevel connector has undergone the following changes:

3.0.3

  • Added the Infrastructure object.

3.0.2

  • Added the TEAMS attribute to the User object.

  • Added the TIER attribute to the Service object.

3.0.1

  • Modified the Service object to use GraphQL instead of YAML for parsing, mitigating a vulnerability in the dependencies.

3.0.0