Understanding the CloudBees Analytics data model

24 minute readData analytics

This section describes the CloudBees Analytics data model. It is comprised of several interrelated schemas that are externalized as report object types.

Data model overview

For CloudBees Analytics comprised of CloudBees CD/RO data, the following data model applies:

cd data model

The data in each type is sourced as described in the below table. Click on an object type for complete details about its structure.

For CloudBees Analytics comprised of CloudBees CI-only data:

Report type Object name Description

build

For events related CloudBees CI builds starting and finishing. It is used on the Workload Insights dashboard.

controller_event

For events related to CloudBees CI controllers starting and for CloudBees Software Delivery Automation configuration on a controller being updated. It is used on the Workload Insights dashboard.

ci_license

For events related to current CloudBees CI licenses. Used by the License usage report.

ci_plugin

For events related to plugins being installed, uninstalled, or otherwise modified on CloudBees CI controllers. This data is used on the Plugin Usage dashboard.

ci_plugin_usage

For events related to plugins being used in various ways in CloudBees CI. It is used on the Plugin Usage dashboard.

ci_queue_event

For events related to activity in the build queue in CloudBees CI, such as new jobs entering the queue, queued jobs starting, or queued jobs being cancelled. It is used on the Workload Insights dashboard.

ci_user_login

For events related to CloudBees CI user logins. This data is used by the License usage report.

If CloudBees CD/RO is installed, these additional report types are available:

Report type Object name Description

EC-Jenkins plugin

Data derived directly from the Build plugin with contributions from the BuildCommit and Quality plugins.

EC-Jenkins plugin

Data derived directly from the plugin.

ECSCM-Git plugin

Data derived from `BuildCommit ` plugin.

EC-JIRA plugin

Data derived directly from the plugin.

CloudBees Software Delivery Automation

Data derived from directly from CloudBees Software Delivery Automation.

EC-JIRA plugin

Data derived directly from the plugin with contributions from release and project data.

EC-FEATUREFLAGS plugin

Data derived directly from the plugin.

EC-ServiceNow plugin

Data derived directly from the plugin.

Job

CloudBees Software Delivery Automation

Data derived from directly from CloudBees Software Delivery Automation.

CloudBees Software Delivery Automation

Data derived from directly from CloudBees Software Delivery Automation, with contributions from Deployment.

EC-ALM plugin

Data derived directly from the plugin.

CloudBees Software Delivery Automation

Feature, Defect, Incident, PipelineRun, Deployment, Quality, and Build report object types contribute to data in this object

Report object type reference for CloudBees CD/RO-only data

These report types are available when the data is sourced from CloudBees CD/RO .

Build

Object Type: Build
Report object name: build
Description: Build data from Jenkins or CloudBees Software Delivery Automation.

Attribute

Display Name

Type

Description

baseDrilldownUrl

Base Drilldown URL

STRING

Base URL used to construct the full URL for drilling down from a widget into an external build system such as Jenkins. For example, https://10.200.1.171:8080/job/CrossWing.

buildNumber

Build Number

STRING

Unique build number or identifier assigned to the build by the build system.

buildStatus

Build Status

STRING

Current status of the build: SUCCESS, FAILURE, UNSTABLE (Jenkins only), NOT_BUILT, ABORTED, or WARNING.

duration

Duration

NUMBER

Duration of the build in milliseconds.

endTime

End Time

DATETIME

End date and time for the build. The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569Z.

launchedBy

Launched By

STRING

User or process that launched the build.

pluginConfiguration

Plugin Configuration

STRING

Name of the plugin configuration if the data was populated through EC-Jenkins.

pluginName

Plugin Name

STRING

Name of the plugin if the data was populated through a plugin such as EC-Jenkins. For example, EC-Jenkins.

projectName

Build System Project Name

STRING

Name of the project in the build system. For example, the Jenkins project name for Jenkins builds, the CloudBees Software Delivery Automation project name for ElectricSentry builds, or the build project name in TFS.

releaseName

Release Name

STRING

Name of the CloudBees CI release to which the build belongs.

releaseProjectName

Release Project Name

STRING

Name of the CloudBees Software Delivery Automation project containing the release to which the build belongs.

releaseUri

Release URI

STRING

Partial URL that can be used along with baseDrilldownUrl to construct the drill-down URL to navigate to builds associated with the current release. The continuous integration system must allow such URLs. For Jenkins, CloudBees Analytics does not use this field, because Jenkins does not provide this ability.

You can drill down only into the builds of a specific project in Jenkins.

source

Build System Type

STRING

Name of the continuous integration system. For example, Jenkins.

sourceUrl

Build URL

STRING

URL for the build record. For example, https://10.200.1.171:8080/job/CrossWing.

startTime

Start Time

DATETIME

Starting date and time for the build. The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569Z.

tags

Tags

STRING

Tags or labels associated with the build.

timestamp

Timestamp

DATETIME

Date and time that the build completed. The system uses this field to determine the time-based index for storing the build record by year. For example, builds that completed in 2017 are stored in the index ef-build-2017.

The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569Z.

jobName

Job Name

STRING

Name of the Job. For CloudBees CI builds, this will be set using the name of the job started by ElectricSentry to do the build. Not used for Jenkins builds.

Build commit

Object Type: Build Commit
Report object name: build_commit
Description: Source code changesets included in builds done by CloudBees Software Delivery Automation or Jenkins continuous integration system.

Attribute

Display Name

Type

Description

buildUrl

Build URL

STRING

URL for the build record. For example, https://10.200.1.171:8080/job/CrossWing

buildNumber

Build Number

STRING

Unique build number or identifier assigned to the build by the build system

startTime

Start Time

DATETIME

Start date and time for the build. The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569ZÂ

endTime

End Time

DATETIME

End date and time for the build. The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569ZÂ

buildStatus

Build Status

STRING

Current status of the build: SUCCESS, FAILURE, UNSTABLE (Jenkins only), NOT_BUILT, ABORTED, or WARNING

projectName

Build System Project Name

STRING

Name of the project in the build system. For example, the Jenkins project name for Jenkins builds, the project name for CloudBees CI builds, or the build project name in TFS

tags

Tags

STRING

Tags or labels associated with the build

buildSource

Build System Type

STRING

Name of the continuous integration system. For example, Jenkins

commitDate

Commit Date

DATETIME

Date when the changeset was committed or checked into the source control system.

commitId

Commit ID

STRING

Unique identifier for the changeset in the source control management system. For example, SHA number in Git or changelist number in Perforce

commitUrl

Commit URL

STRING

URL to the changeset in the SCM repository

jobName

Job Name

STRING

Name of the Job. For CloudBees CI builds, this will be set using the name of the job started by ElectricSentry to do the build. Not used for Jenkins builds

scmRepoBranch

SCM Repository Branch

STRING

Repository branch—Specific to Git or Git-based SCMs. For example, ‘master’

scmSource

SCM Type

STRING

Name of the source control management system. For example, Git or Perforce

scmUrl

SCM Server URL

STRING

URL to the SCM repository or the SCM server name. For example, 'git://git.apache.org/zookeeper.git'

Code commit

Object Type: Code Commit
Report object name: code_commit
Description: Code commit or changeset data from Git or GitHub source code management systems.

Attribute

Display Name

Type

Description

pluginConfiguration

Plugin Configuration

STRING

Name of the plugin configuration if the data was populated through a plugin such as ECSCM-Git

pluginName

Plugin Name

STRING

Name of the plugin if the data was populated through a plugin. For example, ECSCM-Git

source

SCM Type

STRING

Name of the source control management system. For example, Git or Perforce

sourceUrl

Commit URL

STRING

URL to the changeset in the SCM repository

baseDrilldownUrl

BaseDrilldown Url

STRING

Base URL used to construct the full URL for drilling down from a widget into an external source control management system such as Git. For example, ` 'git://git.apache.org/zookeeper.git'`

commitDate

Commit Date

DATETIME

Date when the changeset was committed or checked into the source control system

scmUrl

SCM Server URL

STRING

URL to the SCM repository or the SCM server name. For example, 'git://git.apache.org/zookeeper.git'

scmRepoBranch

SCM Repository Branch

STRING

Repository branch. This is specific to Git or Git-based SCMs. For example, 'master'

commitId

Commit ID

STRING

Unique identifier for the changeset in the source control management system. For example, the SHA number in Git or the changelist number in Perforce

commitAuthor

Commit Author

STRING

Changeset author name

commitAuthorId

Commit Author ID

STRING

Unique identifier for the changeset author in the source control management system. For example, top-dev@my-org.com

commitMessage

Commit Message

STRING

Commit message provided with the commit or changeset

codeLinesAdded

Code Line Added

NUMBER

Number of code lines added in the commit or changeset

codeLinesUpdated

Code lines Updated

NUMBER

Number of code lines updated in the commit or changeset

codeLinesRemoved

Code Lines Removed

NUMBER

Number of code lines deleted in the commit or changeset

filesAdded

Files Added

NUMBER

Number of files added in the commit or changeset

filesUpdated

File Updated

NUMBER

Number of files updated in the commit or changeset

filesRemoved

Filed Removed

NUMBER

Number of files removed in the commit or changeset

Defect

Object Type: Defect
Report object name: defect
Description: Defects logged in the Atlassian JIRA defect tracking system.

Attribute

Display Name

Type

Description

baseDrilldownUrl

Base Drilldown Url

STRING

Base URL used to construct the full URL for drilling down from a widget into a defect-tracking system such as Atlassian JIRA. For example, https://jira101.myco.com?jql=project%3DTEST%20AND%20issuetype%3DBug

createdOn

Created On

DATETIME

Date and time that the defect was created. The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569Z

defectName

Defect Name

STRING

Name of the defect

key

Unique Defect ID

STRING

Unique identifier for the defect in the defect tracking system

modifiedOn

Modified On

DATETIME

Date and time that the defect was last modified. The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569Z

pluginConfiguration

Plugin Configuration

STRING

Name of the plugin configuration if the data was populated through EC-JIRA

pluginName

Plugin Name

STRING

Name of the plugin if the data was populated through EC-JIRA. For example, EC-JIRA

releaseName

Release Name

STRING

Name of the release containing the defect

releaseProjectName

Release Project Name

STRING

Name of the project containing the defect

releaseUri

Release URI

STRING

Partial URL that can be used along with baseDrilldownUrl to construct the drill-down URL to navigate to the defects associated with the current release in the project management system.

For example, for JIRA, if baseDrilldownUrl is set to https://jira101.myco.com?jql=project%3DTEST%20AND%20issuetype%3DBug, and the defects associated with the current release are assigned fixVersion value 7.5, then the release URI can be set as fixVersion=7.5 to then construct the external URL in the widget definition as ${baseDrilldownUrl}%20AND%20${releaseUri}. This is expanded when the widget is rendered in the UI to https://jira101.myco.com?jql=project%3DTEST%20AND%20issuetype%3DBug%20AND%20fixVersion=7.5 as a drill-down link

resolution

Resolution

STRING

Current resolution of the defect. The possible values depend on the defect tracking system

resolvedOn

Resolved On

DATETIME

Date and time that the defect was resolved. The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569Z

source

Source

STRING

Name of the defect tracking system. For example, JIRA

sourceUrl

Source Url

STRING

URL for the defect record. For example, https://jira101.myco.com?jql=project%3DTEST%20AND%20issuetype%3DBug

status

Status

STRING

Current status of the defect: Open, Inprogress, Resolved, or Closed

timestamp

Timestamp

DATETIME

Date and time when the defect record was last updated. The system uses this field to determine the time-based index for storing the defect records by year. For example, defects updated in 2017 are stored in the index ef-defect-2017.

The format is ISO 8601 in UTC time. For example, 2017-01-01T11:54:58.569Z

type

Type

STRING

Defect type. The possible values depend on the defect tracking system. The possible value for JIRA is Bug.

Deployment

Object Type: Deployment
Report object name: deployment
Description: Data from CloudBees Software Delivery Automation application or microservice deployments.

Attribute

Display Name

Type

Description

applicationId

Application ID

STRING

Unique ID of the application that was deployed

applicationName

Application Name

STRING

Name of the application

approvedBy

Approved By

STRING

User who approved the manual step

clusterName

Cluster Name

STRING

Name of the cluster to which the service was deployed

comment

Comment

STRING

Comment provided when the user completed the manual step

deploymentOutcome

Deployment Outcome

STRING

Outcome of the deployment: Success, Error, Warning, or Skipped (check the job outcome)

elapsedTime

Elapsed Time

STRING

Time taken by the deployment to complete (in milliseconds)

environmentId

Environment ID

STRING

Unique ID of the environment to which the application or service was deployed

environmentName

Environment Name

STRING

Name of the environment

environmentProjectName

Environment Project Name

STRING

Name of the environment project

flowRuntimeId

CloudBees Software Delivery Automation Runtime ID

STRING

ID of the pipeline run that started or triggered the deployment

flowRuntimeName

CloudBees Software Delivery Automation Runtime Name

STRING

Name of the pipeline run that started deployment

flowRuntimeStateName

CloudBees Software Delivery Automation Runtime State Name

STRING

Name of the stage or task that started the deployment

groupName

Group Name

STRING

Name of the group containing the task

jobAbortStatus

Job Abort Status

STRING

Abort status if the job was aborted: ABORT or FORCEABORT

jobAbortedBy

Job Aborted By

STRING

User who aborted the job

jobFinish

Job Finish

DATETIME

Job completion time

jobId

Job ID

STRING

Unique job ID

jobName

Job Name

STRING

Name of the job

jobOutcome

Job Outcome

STRING

Outcome of the job: Success, Error, Warning, or Skipped

jobStart

Job Start

DATETIME

Job start time

jobStatus

Job Status

STRING

Status of the job: pending, runnable, running, or scheduled

jobStepAbortStatus

Job Step Abort Status

STRING

Abort status of the job step: ABORT or FORCE_ABORT

jobStepAbortedBy

Job Step Aborted By

STRING

User or project that aborted the job step

jobStepName

Job Step Name

STRING

Name of the job step

jobStepOutcome

Job Step Outcome

STRING

Outcome of the job step: Success, Error, Warning, or Skipped

jobStepStatus

Job Step Status

STRING

Status of the job step: Pending, Runnable, Scheduled, Running, or Completed

jobStepType

Job Step Type

STRING

Type of the job step

jobType

Job Type

STRING

Type of the job: rollback (set only for rollback jobs)

launchedByUser

Launched By User

STRING

User who launched the job

manual

Manual

BOOLEAN

Boolean flag to indicate if a step is manual

parentTaskId

Parent Task ID

STRING

Id of parent task.

parentTaskName

Parent Task Name

STRING

Name of the parent task

parentTaskType

Parent Task Type

STRING

Task type of the parent task

pipelineId

Pipeline ID

STRING

ID of the pipeline containing the task that launched the job

pipelineName

Pipeline Name

STRING

Name of the pipeline containing the task that launched the job

pipelineRunOutcome

Pipeline Run Outcome

STRING

Outcome of the pipeline run: Success, Error, Warning, Skipped, or Aborted

plannedEndTime

Planned End Time

DATETIME

Planned end date of the task that triggered the deployment.

plannedStartTime

Planned Start Time

DATETIME

Planned start date of the task that triggered the deployment.

pluginDisplayName

Plugin Display Name

STRING

Display name of the plugin

pluginKey

Plugin Key

STRING

Key of the plugin

processId

Process ID

STRING

ID of the process that launched the job

processName

Process Name

STRING

Name of the process that launched the job

processStepName

Process Step Name

STRING

Name of the process step in the process

projectId

Project ID

STRING

ID of the project

projectName

Project Name

STRING

Name of the project

releaseId

Release ID

STRING

ID of the release to which the pipeline runs belongs

releaseName

Release Name

STRING

Name of the release to which the pipeline run belongs

releaseProjectName

Release Project Name

STRING

Name of the project containing the release

reportEventType

Report Event Type

STRING

Type of report event:

ef_pipeline_run_completed

ef_pipeline_run_gate_completed

ef_pipeline_run_gate_started

ef_pipeline_run_stage_completed

ef_pipeline_run_stage_started

ef_pipeline_run_started

ef_pipeline_run_task_completed

ef_pipeline_run_task_started

ef_process_run_completed

ef_process_run_rollback_step_completed

ef_process_run_rollback_step_started

ef_process_run_started

ef_process_run_step_retry_completed

ef_process_run_step_retry_started

ef_process_run_waiting_on_manual

ef_process_run_waiting_on_manual_completed

retries

Retries

NUMBER

Number of times to retry a step upon an error

retryType

Retry Type

STRING

Type of retry: auto or manual

serviceId

Service ID

STRING

ID of the service associated with the job

serviceName

Service Name

STRING

Name of the service associated with the job

stageName

Stage Name

STRING

Name of the stage containing the task that launched the job

taskName

Task Name

STRING

Name of the task that launched the job

taskStatus

Task Status

STRING

Status of the task

taskType

Taks Type

STRING

Type of the task:

APPROVAL

COMMAND

CONDITIONAL

DEPLOYER

GROUP

MANUAL

PIPELINE

PLUGIN

PROCEDURE

PROCESS

RELEASE

UTILITY

WORKFLOW

tierMapName

Tier Map Name

STRING

Name of the tier map

waitForPlannedStart

Wait For Planned Start

BOOLEAN

Boolean flag that represents whether a task should wait for a planned start date before running.

Feature

Object Type: Feature
Report object name: feature
Description: Features or stories tracked in the Atlassian JIRA project management tool.