Table of contents

Plugin management


Support Plugin

Introduction

The Support plugin provides the ability to generate a bundle of all the commonly requested information used by CloudBees when resolving support issues.

Since some CloudBees customers purchase support contracts without being licensed for CloudBees Core, this plugin is also available for download and installation into any Jenkins installation. Simply go to the plugin’s release notes, pick the latest version, and click the link in the Download section (such as to http://jenkins-updates.cloudbees.com/download/plugins/cloudbees-support/*latest*/cloudbees-support.hpi). You can install the downloaded plugin using Manage Jenkins » Manage Plugins » Advanced » Upload Plugin.

Generating a bundle

To generate a bundle, simply go to the CloudBees Support link on the Jenkins instance.

generate bundle
Figure 1. Generating a bundle

The support bundle screen provides a list of all the classes of information that can be included in the support bundle (Generating a bundle) Normally it is best to include all the selected information, however there may be some information which you do not want to share for reasons of confidentiality. In such cases you can de-select the information you do not want to include in the bundle.

Click the Generate Bundle to download the bundle to your machine. A bundle is a simple .zip file containing mostly plain text files. You can inspect the contents of this file to assure yourself that it does not contain information you do not want to share with CloudBees. You can even unpack and repack the bundle if there is some specific piece of information that you need to remove from the bundle.

When you are happy with the bundle, just attach the bundle to your CloudBees support ticket.

Getting a bundle from the CLI

If there is a problem accessing the Jenkins web UI, of course it is going to be difficult to diagnose those by going to that same UI and getting a bundle. As an alternative, you can use the Jenkins CLI to obtain a bundle from a shell. Before you encounter problems, make sure you have downloaded jenkins-cli.jar from the server (go to /cli/ to get a link). You may also need to make sure you have authenticated to the CLI, for example by uploading an SSH public key to your Jenkins user account. Then try:

java -jar /path/to/jenkins-cli.jar -s http://server/ support > ./path/to/support-bundle.tgz
This will generate the support bundle and save it to the path you provided.

Alternatively, if you are using the deprecated and insecure legacy remoting-based CLI, the generated support bundle will be saved to a file in your default temporary folder and the filename printed.

You can also request only specific components to include; to see the currently available list, ask for the command’s help:

java -jar /path/to/jenkins-cli.jar -s http://server/ help support

Getting a bundle when Jenkins will not start

When the CloudBees Support Plugin is installed, it automatically stores a bundle every hour in $JENKINS_HOME/support. These bundles are purged using an exponential retention strategy so that they do not overflow disk space.

If your Jenkins instance is not starting correctly, this is usually due to some class-loading conflict among the set of plugins that you have installed in your instance. Normally such class-loading conflicts will just result in one of your plugins failing to load, however in some extreme cases a plugin failing to load can cause a second plugin to render the UI of your Jenkins instance inaccessible.

In such cases, the latest support bundle (and some representative historical versions) can be very helpful for CloudBees in ensuring a rapid response and restoration of your Jenkins to an accessible state.

The support bundles are the files $JENKINS_HOME/cloudbees-support/cloudbees-support_YYYY-MM-DD_hh.mm.ss.zip where YYYY-MM-DD and hh.mm.ss are the UTC date and time respectively when the bundle was generated.

You can inspect the contents of these file(s) to assure yourself that they do not contain information you do not want to share with CloudBees. You can even unpack and repack bundle(s) if there is some specific piece of information that you need to remove from some bundle(s).

When you are happy with the bundle(s), just attach the bundle(s) to your CloudBees support ticket.

Controlling who can generate Support bundles

By default, only Jenkins administrators can generate support bundles. The CloudBees Support Plugin defines an additional security permission within Jenkins (CloudBees Support/DownloadBundle). You can assign this permission to any users that you want to be able to generate support bundles, even the Anonymous user. The content of such bundles can be useful in diagnosing authentication issues that specific users are having.

Note

Our general recommendation is only to allow trusted users to generate support bundles. Enabling the anonymous user to generate a bundle should be something that is time bounded and used specifically to obtain a bundle from a user who is having issues with authentication.

Note

In order to reduce the possibility of the support plugin from leaking confidential information about your Jenkins installation, when a non-administrator generates a support bundle, certain specific components are not available for selection. For example, the Environment variables, System properties and Thread dumps components are disabled (Generating a bundle as a user who is not a Jenkins administrator) as these components tend to include information that is often not for general consumption.

generate restricted
Figure 2. Generating a bundle as a user who is not a Jenkins administrator