Skip to content

Commit 3d835e3

Browse files
committed
Add option to create project and version if needed
1 parent 276f8cd commit 3d835e3

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

examples/add_components_to_project_version.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from blackduck.HubRestApi import HubInstance, object_id
2727

2828
parser = argparse.ArgumentParser("Add components from JSON output of get_bom_components to the selected project-version on the desired Black Duck host")
29+
parser.add_argument("-cp", "--create-project", action="store_true", help="Create project-version if they don't exist")
2930
parser.add_argument("project_name", help="Name of destination project ")
3031
parser.add_argument("version", help="Version of destination project")
3132
parser.add_argument("component_file",help="JSON file with component list from get_bom_components")
@@ -50,6 +51,22 @@
5051

5152
project_version = hub.get_project_version_by_name(args.project_name, args.version)
5253

54+
if (project_version is None):
55+
if (args.create_project):
56+
logging.debug(f"Creating project: {args.project_name}, {args.version}")
57+
#Check if the project exists. If it does, create the project version.
58+
project = hub.get_project_by_name(args.project_name)
59+
if (project):
60+
#Create the version.
61+
response = hub.create_project_version(project, args.version)
62+
else:
63+
#Create the project-version
64+
response = hub.create_project(args.project_name, args.version)
65+
project_version = hub.get_project_version_by_name(args.project_name, args.version)
66+
else:
67+
logging.error(f"Project: {args.project_name}, {args.version} does not exist. Create it using --create-project or login to Blackduck.")
68+
exit(1)
69+
5370
components_api_url = hub.get_link(project_version, "components")
5471

5572
for component in components:

0 commit comments

Comments
 (0)