Data collection for the CloudBees Analytics Plugin

The CloudBees Analytics Plugin collects telemetry and metrics for analysis to help CloudBees make decisions about future product enhancements. The collected data is used to evaluate patterns of usage of our products.

Data collection is enabled by default, but you can disable it at any time.

Data collected with every event

The following data is sent with every event that is captured:

Description Anonymized

Instance ID

Yes

Product name

No

Product version

No

Organization licensed to use the product

This does not apply to CloudBees Jenkins Distribution.

No

Instance check-in data

This event is sent at each initialization and every 24 hours after.

Description Anonymized

The first installation date.

No

The length of time the instance has been running since the last reboot.

No

The number of licensed users.

No

The operating system where the instance is running.

No

The cloud provider where the instance is running.

No

The cloud orchestrator used in the cluster.

No

The distributable used in the cluster.

No

User signup data

This event is sent when the product is being licensed.

Description Anonymized

The browser used to request the license.

No

The version of the browser used to request the license.

No

The operating system where the instance is running.

No

The cloud provider where the instance is running.

No

The cloud orchestrator used in the cluster.

No

The distributable used in the cluster.

No

Setup wizard data

A new event is sent when the user starts a new step of the Setup Wizard to identify the selections made during the installation.

  • Admin password step displayed

  • Login failed

  • Choose license type step displayed

  • Online evaluation license step displayed

  • Offline license step displayed

  • Manual license step displayed

  • License submit failed

  • Plugins installation options step displayed

  • Plugins selection step displayed

  • Custom plugins installation selected

  • Recommended plugins installation selected

  • Install plugins requested

  • Upgrade skipped

  • Admin user creation step displayed

  • Admin user created

  • Admin user creation failed

  • Confirm URL step displayed

  • Instance ready step displayed

  • Setup completed

Jenkins build completed data

This event is sent every time a build completes in Jenkins.

Description Anonymized

The build duration in milliseconds.

No

The build number.

No

The result of the build.

No

The fully-qualified class name of the run that triggered the event (to identify the job type).

No

The fully-qualified class name of the multibranch project factory (to track usage of marker files vs normal multibranch projects)

No

For pipelines that are part of multibranch projects, the fully-qualified class name of the SCM used to check out the multibranch project from source control

No

A hashed name of the job from which the build was created.

Yes

(Optional) The durability level that was used for the build in Pipeline jobs.

No

(Optional) The fully-qualified class name of the FlowDefinition for the Pipeline (to identify the Pipeline type).

No

Whether the sandbox was enabled for the build in Pipeline jobs.

No

(Optional) A hashed multibranch Pipeline job name.

Yes

(Optional) A hashed organization folder name (only set on builds of jobs that are part of a multibranch project that is part of an organization folder).

Yes

(Optional) Either Scripted or Declarative, depending on the Pipeline.

No

(Optional) If a freestyle build, the count of upstream projects that feed into the build.

No

(Optional) If a freestyle build, the count of downstream projects that should be built when the build completes.

No

(Optional) If a Pipeline build and the CloudBees SCM Reporting plugin is in use, some generic information about how the branch source is configured for reporting and what kinds of notification are sent to the SCM.

No

Jenkins Pipeline step completed

This data is sent along with the Jenkins Build Completed event for Pipeline builds for every Pipeline step executed as part of the build.

Description Anonymized

The number of the build that ran in the Pipeline step.

No

A hashed version of the name of the job that owns the build that ran the step.

Yes

A list of the names, but not the values, of the arguments passed to the step by the user.

No

The name of the step as written by a user in a Pipeline script.

No

The amount of time that the step spent paused while executing.

No

The artifact ID of the plugin in which the step is defined (to identify which steps are being used).

No

Jenkins Declarative Pipeline syntax used

This data is sent along with the Jenkins Build Completed event for every type of syntax used in Declarative Pipelines.

Description Anonymized

The number of the build that ran the step.

No

A hashed name of the job from which the build that ran the step was created.

Yes

The name of the Declarative syntax used. For example, agent,tools,stages,matrix, etc. Refer to the Pipeline syntax reference guide for the complete list of syntax.

No

The type of syntax that was used. The following syntax types are supported by Declarative:

  • AGENT-TYPE

  • DIRECTIVE

  • POST_CONDITION

  • SECTION

  • WHEN_CONDITION

Refer to the Pipeline syntax reference guide for detailed explanations of each type.

No

Jenkins freestyle task completed

This data is sent along with the Jenkins Build Completed event for every task executed as part of a freestyle build.

Description Anonymized

The number of the build that ran the step in.

No

A hashed name of the job from which the build was created.

Yes

The fully-qualified class name of the freestyle task. For example, hudson.tasks.Shell.

No

The type of freestyle task: * build wrapper: pre/post actions performed for the build process * builder:BuildSteps that perform the actual build * publisher:BuildSteps that run after a build has been completed

No

Jenkins SCM checked out

This data is sent along with the Jenkins Build Completed event for every SCM that is checked out as part of the build.

Description Anonymized

The number of the build in which the step ran.

No

A hashed name of the job from which the build was created.

Yes

The fully-qualified class name of the object used to check out from source control (to identify which SCM is used).

No

The context in which the checkout was performed. For example, checkout performed in a build that is not in a Pipeline, checkout step within a Pipeline build, etc.).

No

Jenkins Pipeline Policy Applied

This data is sent for every pipeline policy rule that was applied to a completed build.

Description Anonymized

The number of the build which the policy was applied.

No

A hashed name of the job from which the build was created.

Yes

A hashed name of the policy from which the rule belonged to.

Yes

The name of the policy rule that was applied to the run.

No

A short description of the rule violation that occured (if there was one).

No

Action performed when a violation occurs (warn or fail).

No

CloudBees High Availability (HA) usage

This event is sent at each initialization and every 7 days after.

This only applies to CloudBees CI on traditional platforms.
Description Anonymized

True if the instance has configured CloudBees HA, otherwise False is sent.

No

Plugin version data

This event is sent for each installed plugin at each initialization and every 7 days after.

Description Anonymized

The artifact ID of the plugin.

No

The version of the plugin.

No

Configuration as Code (CasC) for Masters usage

This event is sent at each initialization and every 7 days after.

Description Anonymized

Has the current master been provisioned using CasC for Masters? (yes/no value)

No

CloudBees Slack Integration

Once the CloudBees Slack Integration plugin is installed, it will start sending metrics regarding its usage. CloudBees does not collect critical configuration information and all data collected is anonymized. The only data collected in every event is who will receive the message.

Slack message sent

This event is sent every time a Personalized Slack Message with the build status is delivered to the author of the Pull Request.

Description Anonymized

Slack identifier to whom the message is sent.

Yes

If the message is sent after the build is finished or after a single stage is completed.

No

Indicates if the message is new, if it is updating a previous one, or if it is a reply.

No

User subscribed

This event is sent every time a user is subscribed or unsubscribed to receive Personalized Slack Messages.

Description Anonymized

Slack identifier of the user who is subscribing or unsubscribing.

Yes

If the user has subscribed or unsubscribed to received Personalized Slack Messages.

No

If the user has self-configured or it has been an administrator user who did it.

No

Plugin configuration

This event is sent at each initialization and every 7 days after.

Description Anonymized

If the CloudBees Slack Integration plugin is properly configured, in other words the configuration includes a valid Slack token.

The token is not collected.

No

Total number of configured users in CloudBees Slack Integration plugin.

No

Total number of configured users that are subscribed, in other words users who will receive Personalized Slack Messaging notifications.

No

Total number of configured users that are unsubscribed, in other words users who will not receive Personalized Slack Messaging notifications despite being registered.

No

Rebuild button selected

This event is sent when the Rebuild button within the CloudBees Slack Integration message is selected.

Description Anonymized

Slack identifier of the user who selected the Rebuild button.

Yes

If rebuild action was successful or not.

No

Job for which the new build has been queued.

Yes

When CloudBees CI generates a link to itself for upload to an external system, such as a GitHub commit status, it may encode a category identifier in the link and send an event if and when it is clicked.

Description Anonymized

Category of link being followed (such as failing test results in GitHub)

No

CloudBees Microsoft Teams Integration

Once the CloudBees Microsoft Teams Integration plugin is installed, it will start sending metrics regarding its usage. CloudBees does not collect critical configuration information and all data collected is anonymized. This plugin basically configures pairs of Microsoft Teams webhooks and SCM usernames. Then, when a Pull Request is triggered, if it matches an SCM username, that webhook will be used for sending a message.

CloudBees Microsoft Teams Integration message sent

When a build finished, if it is a Pull Request and the configuration matches a message is sent.

Description Anonymized

Microsoft Teams identifier to the Webhook the message is sent.

Yes

Jenkins Id who added the web hook

Yes

SCM username for the web hook

Yes

If the message is sent after the build is finished or after a single stage is completed.

No

Indicates if the message is new, if it is updating a previous one, or if it is a reply.

No

User subscribed

This event is sent every time a user is subscribed or unsubscribed to receive CloudBees Microsoft Teams Integration messages.

Description Anonymized

Teams identifier of the user who is subscribing or unsubscribing.

Yes

SCM username for the web hook

Yes

If the user has subscribed or unsubscribed to received CloudBees Microsoft Teams Integration messages.

No

If the user has self-configured or it has been an administrator user who did it.

No

Plugin configuration

This event is sent at each initialization and every 7 days after.

Description Anonymized

Total number of configured users in CloudBees Microsoft Teams Integration plugin.

No

Total number of configured users that are subscribed, in other words users who will receive CloudBees Microsoft Teams Integration notifications.

No

Total number of configured users that are unsubscribed, in other words users who will not receive CloudBees Microsoft Teams Integration notifications despite being registered.

No

When CloudBees CI generates a link to itself for upload to an external system, such as a GitHub commit status, it may encode a category identifier in the link and send an event if and when it is clicked.

Description Anonymized

Category of link being followed (such as failing test results in GitHub)

No

Beekeeper plugin exceptions

If the CloudBees Assurance Program is enabled on an instance, this event is sent weekly to indicate if Beekeeper plugin exceptions were allowed or disallowed on that instance.

Disabling data collection for the CloudBees Analytics Plugin

You can disable data collection from within Jenkins.

To disable data collection:

  1. From Jenkins, go to Manage Jenkins > Configure System.

  2. Under Usage Statistics, deselect Help make CloudBees <product name> better by sending telemetry and metrics to evaluate patterns of usage.

    The <product name> will depend on what product you are using. CloudBees by default will display.

Alternatively, disable the data collection by adding the -Dcom.cloudbees.analytics.gatherer.Sender.disabled=true system property to your launch scripts.