args
This commit is contained in:
@ -1 +1,3 @@
|
|||||||
regex==2024.11.6
|
regex==2024.11.6
|
||||||
|
loguru==0.7.3
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
import argparse
|
||||||
|
|
||||||
import defectdojo_api
|
import defectdojo_api
|
||||||
from defectdojo_api.rest import ApiException as DefectDojoApiException
|
from defectdojo_api.rest import ApiException as DefectDojoApiException
|
||||||
@ -34,6 +35,31 @@ except KeyError as e:
|
|||||||
raise Exception(f"Env variable {e} is shall be set")
|
raise Exception(f"Env variable {e} is shall be set")
|
||||||
|
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='snippet/test03')
|
||||||
|
parser.add_argument('--name', '-n',
|
||||||
|
help='Project Name',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--version', '-v',
|
||||||
|
help='Project Version',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--description', '-d',
|
||||||
|
help='Project Description',
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--type', '-t',
|
||||||
|
help='Product Type from DefectDojo',
|
||||||
|
type=int,
|
||||||
|
required=True)
|
||||||
|
parser.add_argument('--classifier', '-c',
|
||||||
|
help='Project Classifier from DependencyTrack',
|
||||||
|
choices=['APPLICATION', 'FRAMEWORK', 'LIBRARY', 'CONTAINER', 'OPERATING_SYSTEM', 'DEVICE', 'FIRMWARE', 'FILE', 'PLATFORM', 'DEVICE_DRIVER', 'MACHINE_LEARNING_MODEL', 'DATA'],
|
||||||
|
required=True)
|
||||||
|
args = parser.parse_args()
|
||||||
|
projectName = args.name
|
||||||
|
projectVersion = args.version
|
||||||
|
projectDescription = args.description
|
||||||
|
productType = args.type
|
||||||
|
projectClassifier = args.classifier
|
||||||
|
|
||||||
|
|
||||||
defectdojo_configuration = defectdojo_api.Configuration(
|
defectdojo_configuration = defectdojo_api.Configuration(
|
||||||
host = DEFECTDOJO_URL
|
host = DEFECTDOJO_URL
|
||||||
@ -49,13 +75,14 @@ dependencytrack_configuration.api_key['ApiKeyAuth'] = DTRACK_TOKEN
|
|||||||
|
|
||||||
with defectdojo_api.ApiClient(defectdojo_configuration) as defectdojo_api_client:
|
with defectdojo_api.ApiClient(defectdojo_configuration) as defectdojo_api_client:
|
||||||
print("Create product in DefectDojo")
|
print("Create product in DefectDojo")
|
||||||
|
productName = f"{projectName}:{projectVersion}"
|
||||||
product_response = \
|
product_response = \
|
||||||
executeApiCall(
|
executeApiCall(
|
||||||
defectdojo_api_client,
|
defectdojo_api_client,
|
||||||
defectdojo_api.ProductsApi,
|
defectdojo_api.ProductsApi,
|
||||||
defectdojo_api.ProductsApi.products_create,
|
defectdojo_api.ProductsApi.products_create,
|
||||||
defectdojo_api.ProductRequest,
|
defectdojo_api.ProductRequest,
|
||||||
{ 'name': "Test Product", 'description': "Just a product to test the API", 'prod_type': 1 },
|
{ 'name': productName, 'description': projectDescription, 'prod_type': productType },
|
||||||
[]
|
[]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -65,13 +92,14 @@ with defectdojo_api.ApiClient(defectdojo_configuration) as defectdojo_api_client
|
|||||||
print("Create engagement in DefectDojo")
|
print("Create engagement in DefectDojo")
|
||||||
start_time = datetime.date.today()
|
start_time = datetime.date.today()
|
||||||
end_time = start_time + relativedelta(years=10)
|
end_time = start_time + relativedelta(years=10)
|
||||||
|
engagementName = f"{productName} DTrack Link"
|
||||||
engagement_response = \
|
engagement_response = \
|
||||||
executeApiCall(
|
executeApiCall(
|
||||||
defectdojo_api_client,
|
defectdojo_api_client,
|
||||||
defectdojo_api.EngagementsApi,
|
defectdojo_api.EngagementsApi,
|
||||||
defectdojo_api.EngagementsApi.engagements_create,
|
defectdojo_api.EngagementsApi.engagements_create,
|
||||||
defectdojo_api.EngagementRequest,
|
defectdojo_api.EngagementRequest,
|
||||||
{ 'name': "Test Engagement 01", 'target_start': start_time, 'target_end': end_time, 'status': 'In Progress', 'product': product_id },
|
{ 'name': engagementName, 'target_start': start_time, 'target_end': end_time, 'status': 'In Progress', 'product': product_id },
|
||||||
[]
|
[]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -85,7 +113,7 @@ with dependencytrack_api.ApiClient(dependencytrack_configuration) as dependencyt
|
|||||||
dependencytrack_api.ProjectApi,
|
dependencytrack_api.ProjectApi,
|
||||||
dependencytrack_api.ProjectApi.create_project,
|
dependencytrack_api.ProjectApi.create_project,
|
||||||
dependencytrack_api.Project,
|
dependencytrack_api.Project,
|
||||||
{ 'name': "Test Project", 'uuid': "", 'last_bom_import': 0 },
|
{ 'name': projectName, 'version': projectVersion, 'classifier': projectClassifier, 'uuid': "", 'last_bom_import': 0 },
|
||||||
[]
|
[]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user