|
26 | 26 | from blackduck.HubRestApi import HubInstance, object_id
|
27 | 27 |
|
28 | 28 | 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") |
29 | 30 | parser.add_argument("project_name", help="Name of destination project ")
|
30 | 31 | parser.add_argument("version", help="Version of destination project")
|
31 | 32 | parser.add_argument("component_file",help="JSON file with component list from get_bom_components")
|
|
50 | 51 |
|
51 | 52 | project_version = hub.get_project_version_by_name(args.project_name, args.version)
|
52 | 53 |
|
| 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 | + |
53 | 70 | components_api_url = hub.get_link(project_version, "components")
|
54 | 71 |
|
55 | 72 | for component in components:
|
|
0 commit comments