Use dependency track devops task (#20854)

* Replace dependency track bom script with devops task

* Introduce new url variable in order to fix new task uri

The initial variable contained the api path (/api) in the URL.
This commit is contained in:
Laura Neto
2025-11-17 14:54:03 +01:00
committed by GitHub
parent b868a349de
commit 6d44b42400

View File

@@ -13,12 +13,12 @@ jobs:
- checkout: none - checkout: none
- bash: | - bash: |
project_id=$(curl --no-progress-meter -H "X-Api-Key: $(DT_API_KEY)" "$(DT_API_URL)/v1/project/lookup?name=${{ parameters.projectName }}&version=${{ parameters.umbracoVersion }}" | jq -r '.uuid') project_id=$(curl --no-progress-meter -H "X-Api-Key: $(DT_API_KEY)" "$(DT_API_URI)/api/v1/project/lookup?name=${{ parameters.projectName }}&version=${{ parameters.umbracoVersion }}" | jq -r '.uuid')
if [ "$project_id" != "null" ] && [ -n "$project_id" ]; then if [ "$project_id" != "null" ] && [ -n "$project_id" ]; then
echo "Project '${{ parameters.projectName }}' with version '${{ parameters.umbracoVersion }}' already exists (ID: $project_id)." echo "Project '${{ parameters.projectName }}' with version '${{ parameters.umbracoVersion }}' already exists (ID: $project_id)."
else else
project_id=$(curl --no-progress-meter \ project_id=$(curl --no-progress-meter \
-X PUT "$(DT_API_URL)/v1/project" \ -X PUT "$(DT_API_URI)/api/v1/project" \
-H "X-Api-Key: $(DT_API_KEY)" \ -H "X-Api-Key: $(DT_API_KEY)" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"name": "${{ parameters.projectName }}", "version": "${{ parameters.umbracoVersion }}", "collectionLogic": "AGGREGATE_DIRECT_CHILDREN"}' \ -d '{"name": "${{ parameters.projectName }}", "version": "${{ parameters.umbracoVersion }}", "collectionLogic": "AGGREGATE_DIRECT_CHILDREN"}' \
@@ -42,15 +42,14 @@ jobs:
artifact: ${{ project.artifact }} artifact: ${{ project.artifact }}
displayName: Download ${{ project.artifact }} artifact displayName: Download ${{ project.artifact }} artifact
- script: | - task: upload-bom-dtrack@1
curl --no-progress-meter --fail-with-body \ inputs:
-X POST "$(DT_API_URL)/v1/bom" \ dtrackURI: $(DT_API_URI)
-H "X-Api-Key: $(DT_API_KEY)" \ dtrackAPIKey: $(DT_API_KEY)
-H "Content-Type: multipart/form-data" \ dtrackProjAutoCreate: true
-F "autoCreate=true" \ dtrackProjName: '${{ parameters.projectName }}-${{ project.name }}'
-F "projectName=${{ parameters.projectName }}-${{ project.name }}" \ dtrackProjVersion: ${{ parameters.umbracoVersion }}
-F "projectVersion=${{ parameters.umbracoVersion }}" \ dtrackParentProjName: ${{ parameters.projectName }}
-F "parentName=${{ parameters.projectName }}" \ dtrackParentProjVersion: ${{ parameters.umbracoVersion }}
-F "parentVersion=${{ parameters.umbracoVersion }}" \ bomFilePath: '$(Pipeline.Workspace)/${{ project.artifact }}/${{ project.bomFilePath }}'
-F "bom=@$(Pipeline.Workspace)/${{ project.artifact }}/${{ project.bomFilePath }}"
displayName: Upload ${{ project.name }} BOM to Dependency Track displayName: Upload ${{ project.name }} BOM to Dependency Track