Bamboo Integration
Overview
This page describes how to integrate Bamboo with the Unified Agent via a Windows PowerShell Interpreter or by using Linux shell commands.
NOTE: Before you begin, make sure that the relevant package manager is installed. For details, see Scanning With The Unified Agent
Option 1: Bamboo Script Task Using Windows PowerShell Interpreter
Setup
Create a project and fill in the fields:
Create a new plan:
Fill in the fields and select None for a repository in order to work on a local workspace.
Select Enable Plan.
Run this job in an Agent environment and add a task:
Select a Script task type:
Enter a description for the task, select a Windows PowerShell interpreter, and an Inline script location.
Enter the following in the Script body text box, edit the configuration file to match your needs, and save when done:
NOTE: Ensure that Background Intelligent Transfer Service (BITS) is enabled on your project job.CODEpowershell bitsadmin /transfer mydownload /dynamic /download /priority FOREGROUND "https://github.com/whitesource/unified-agent-distribution/releases/latest/download/wss-unified-agent.jar" $pwd\wss-unified-agent.jar powershell bitsadmin /transfer mydownload /dynamic /download /priority FOREGROUND "https://github.com/whitesource/unified-agent-distribution/raw/master/standAlone/wss-unified-agent.config" $pwd\wss-unified-agent.config java -jar wss-unified-agent.jar -apiKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx [-u userKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx] -c [path to config file] -project my-project -d [path to folder to scan]
Note the following:
The first command downloads the latest version of Mend Unified Agent jar file to the job folder.
The second command downloads the latest version of Mend Unified Agent configuration file to the job folder.
The third command runs the Jar with regular command-line arguments of the Unified Agent.
It is advised to use the above PowerShell commands only once a week to download the latest version of the Unified Agent for performance reasons and not as part of every build. You can do this using a scheduler task, such as cron.
Running the Job
Go to the Configuration page.
Select Run plan:
The Build Result Summary is then displayed:
Option 2: Bamboo Script Task Using Shell or the 'cmd.exe' Interpreter
Setup
Download CURL, add it to your PATH environment variable, and restart Bamboo.
Create a project via the same steps that were described in the previous section.
In the new Script Body window add the following commands:
CODEcurl -LJO https://github.com/whitesource/unified-agent-distribution/raw/master/standAlone/wss_agent.sh wss_agent.sh -apiKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx -c [path to config file] -project my-project -d [path to folder to scan]
Note the following:
The first command downloads the wss_agent.sh script file to the job folder.
The second command runs the script wss_agent.sh. This script downloads the latest version of whitesource Unified Agent jar file and configuration file to your Bamboo job 'workspace' folder.
The script runs the jar with regular command-line arguments of the Unified Agent.
NOTES:
ApiKey is in the configuration file, and therefore, it is not in the script.
Ensure that you edit the Unified Agent configuration file to match your needs.
Running the Job
Save, enable the job and run it in the way that is described here.
More Examples
Additional examples for CI/CD pipelines can be found at https://github.com/mend-toolkit/mend-examples/tree/main/CI-CD .