Create a Blackduck project
Input Schema
| Property | Type | Description | Required |
|---|---|---|---|
| projectName | string | Name of the project to be created | |
| instanceName | string | Name of the Instance | |
| versionPhase | string | Phase Dev / QA / Prod | |
| projectVersion | string | Version of the project to be created | |
| versionDistribution | string | Distribution Internal / External |
Output Schema
Usage Examples
Create a Dev project for a new microservice
Creates a Black Duck project and initial Dev version when scaffolding a new service. Use this to prepare internal scanning early in development. This example uses fetch:template to set up source files first.
steps:
- id: fetch-skeleton
action: fetch:template
input:
url: ./skeleton
targetPath: .
values:
serviceName: ${{ parameters.serviceName }}
owner: ${{ parameters.owner }}
- id: create-blackduck-project
action: blackduck:create:project
input:
projectName: ${{ parameters.serviceName }}
projectVersion: 0.1.0
versionPhase: Dev
versionDistribution: Internal
instanceName: corp-blackduckCreate a QA project version for a release candidate
Creates a project version in phase QA for a release candidate. Use this when promoting builds to a test environment. The repo is prepared with fetch:template.
steps:
- id: fetch-skeleton
action: fetch:template
input:
url: ./service-template
targetPath: .
values:
name: ${{ parameters.name }}
owner: ${{ parameters.owner }}
- id: create-blackduck-qa-version
action: blackduck:create:project
input:
projectName: payments-service
projectVersion: ${{ parameters.releaseVersion }}-rc.1
versionPhase: QA
versionDistribution: Internal
instanceName: blackduck-euCreate a Prod project for an externally distributed library
Creates a project and version in phase Prod with External distribution. Use this when publishing a library to external consumers. Source files are fetched using fetch:template.
steps:
- id: fetch-skeleton
action: fetch:template
input:
url: ./library-template
targetPath: .
values:
packageName: ${{ parameters.packageName }}
owner: ${{ parameters.owner }}
- id: create-blackduck-prod-project
action: blackduck:create:project
input:
projectName: ${{ parameters.packageName }}
projectVersion: ${{ parameters.version }}
versionPhase: Prod
versionDistribution: External
instanceName: blackduck-prodCreate a project for a monorepo package with team prefix
Creates a Black Duck project for a monorepo package using a naming convention with a team prefix. Use this to keep project names consistent across teams. The files are prepared with fetch:template.
steps:
- id: fetch-skeleton
action: fetch:template
input:
url: ./monorepo-package-template
targetPath: packages/${{ parameters.packageName }}
values:
packageName: ${{ parameters.packageName }}
team: ${{ parameters.team }}
- id: create-blackduck-project
action: blackduck:create:project
input:
projectName: ${{ parameters.team }}-${{ parameters.packageName }}
projectVersion: 1.3.0
versionPhase: Dev
versionDistribution: Internal
instanceName: platform-blackduckCreate a per-branch Dev project version for preview environments
Creates a Dev version per branch for preview builds so each branch can be scanned independently. Use this for feature branch workflows. The repo setup uses fetch:template.
steps:
- id: fetch-skeleton
action: fetch:template
input:
url: ./service-template
targetPath: .
values:
serviceName: ${{ parameters.serviceName }}
branchName: ${{ parameters.branchName }}
- id: create-blackduck-branch-version
action: blackduck:create:project
input:
projectName: ${{ parameters.serviceName }}
projectVersion: ${{ parameters.branchName }}
versionPhase: Dev
versionDistribution: Internal
instanceName: blackduck-sandbox