- Notifications
You must be signed in to change notification settings - Fork 112
Custom Signatures Export Import
This document describes a process of migrating custom signatures from one instance of a Blackduck to another using Blackduck Pythin REST API library.
There are two scripts provided:
This document will imply that the execution environment is Linux or other UNIX-like system.
- Access to source Blackduck instance
- Access to destination Blackduck instance
- Client machine with Python 3 environment
- Blackduck Python REST API
Clone blackducksoftware/hub-rest-api-python
git clone https://github.com/blackducksoftware/hub-rest-api-python.git Alternatively use "Download ZIP" feature of GitHub project
For the purpose of this document let's consider that the library is cloned into $HOME/hub-rest-api-python folder. Further instructions will use that location.
export PYTHONPATH=$PYTHONPATH:$HOME/hub-rest-api-python pip3 install -r $PYTHONPATH:$HOME/hub-rest-api-python/requirements.txt Create a working directory to be used for Export/Import process and change your working directory to it.
mkdir $HOME/custom_signatures cd $HOME/custom_signatures Create configuration files for source and destination servers respectively.
src.restconfig.json
{ "baseurl": "https://source-blackduck-server-hostname", "api_token": "source-blackduck-server-token", "insecure": true, "debug": false } dst.restconfig.json
{ "baseurl": "https://destination-blackduck-server-hostname", "api_token": "destination-blackduck-server-token", "insecure": true, "debug": false } Test access to the source instance
cp src.restconfig.json .restconfig.json python3 /Users/kumykov/git/hub-rest-api-python/examples/get_current_user.py This should produce JSON output that looks similar to this:
$ python3 $HOME/hub-rest-api-python/examples/get_current_user.py {"userName": "sysadmin", "firstName": "System", "lastName": "Administrator", "email": "noreply@blackducksoftware.com", "type": "INTERNAL" ... Test access to the destination instance using same process, use dst.restconfig.json.
Export custom signatures by executing the following.
cp src.restconfig.json .restconfig.json python3 /Users/kumykov/git/hub-rest-api-python/examples/custom_signatures_export.py output_folder Once completed, output folder should contain collection of .bdio files and metadata.json file.
Import custom signatures to the destination server as following.
cp dst.restconfig.json .restconfig.json python3 /Users/kumykov/git/hub-rest-api-python/examples/custom_signatures_export.py output_folder Note that this command uses output of the previous command as input. This command will create a project structure as necessary and mark projects listed in the metadata.json as custom signatures.
Then it will upload .bdio files to the destination server.
Once processing is complete, custom signatures will be ready to use.