AppDynamics Monitoring Extension for use with Atlassian Bamboo

AppDynamics Monitoring Extension for use with Atlassian Bamboo



This extension monitors the Bamboo continuous integration server. This extension should be used with standalone Java Machine Agents.


  1. Download the
  2. Unzip as "BambooMonitor" and copy the "BambooMonitor" directory to <MACHINE_AGENT_HOME>/monitors.



Please make sure to not use tab (\t) while editing yaml files. You may want to validate the yaml file using a yaml validator

  1. Configure the Bamboo servers by editing the config.yaml file in <MACHINE_AGENT_HOME>/monitors/BambooMonitor/conf.

        # Fires a REST request to https://localhost:8443/rest/api/latest/result.json?os_authType=basic&expand=results.result to get latest test results
          - displayName: Local Bamboo
            host: localhost
            port: 8443
            useSSL: true
            #Provide password or passwordEncrypted and encryptionKey
        # number of concurrent tasks
        numberOfThreads: 5
          socketTimeout: 2000
          connectTimeout: 2000
          sslCertCheckEnabled: false
          sslVerifyHostname: false
          sslProtocols: ["TLSv1"]
          numberOfThreads: 1
          # Fires REST api every taskDelaySeconds seconds and caches the results to display every minute
          taskDelaySeconds: 120
        #prefix used to show up metrics in AppDynamics
        metricPrefix: "Custom Metrics|Bamboo|"  
  2. Configure the path to the config.yaml file by editing the in the monitor.xml file in the <MACHINE_AGENT_HOME>/monitors/BambooMonitor/ directory. You can also change the frequency at which the MachineAgent calls the extension by changing the in monitor.xml. Below is the sample

            <!-- config file-->
            <argument name="config-file" is-required="true" default-value="monitors/BambooMonitor/conf/config.yaml" />

    On Windows, please specify the absolute path to the config.yml.

Password Encryption Support

To avoid setting the clear text password in the config.yaml, please follow the process below to encrypt the password

  1. Download the util jar to encrypt the password from and navigate to the downloaded directory
  2. Encrypt password from the commandline java -cp appd-exts-commons-1.1.2.jar com.appdynamics.extensions.crypto.Encryptor encryptionKey myPassword
  3. Specify the passwordEncrypted and encryptionKey in config.yaml


In metric browser metrics will be displayed in [Custom Metrics|Bamboo|{displayName}|{projectName}|{planName}|{metricName}

Metric Name
Build Duration in Sec
Failed Tests
Quarantined Tests
Skipped Tests
Successful Tests
Build Number

Custom Dashboard


  1. Verify Machine Agent Data: Please start the Machine Agent without the extension and make sure that it reports data. Verify that the machine agent status is UP and it is reporting Hardware Metrics.

  2. config.yaml:Validate the file here.

  3. The config cannot be null : This usually happens when on a windows machine in monitor.xml you give config.yaml file path with linux file path separator /. Use Windows file path separator \ e.g. monitors\BambooMonitor\config.yaml. On Windows, please specify absolute file path.

  4. Metric Limit: Please start the machine agent with the argument -Dappdynamics.agent.maxMetrics=5000 if there is a metric limit reached error in the logs. If you don't see the expected metrics, this could be the cause.

  5. Debug Logs:Edit the file, <MACHINE_AGENT_HOME>/conf/logging/log4j.xml and update the level of the appender com.appdynamics to debug . Let it run for 5-10 minutes and attach the logs to a support ticket


Always feel free to fork and contribute any changes directly via GitHub.


Bamboo Versions Tested On5.10.3
Machine Agent Compatibility4.0+
Last Update3 Oct 2016


Releases Notes

  • 1.0.0: Initial release