Schema URL

Type: object

CI configuration for Amdocs Bill Experience projects

Properties

project object required

Project properties

3 nested properties
name string

Project's name (used by Jenkins, Docker and Sonar)

type enum

Project type

Default: "mvn"
Values: "npm" "maven" "mvn"
settings string

ID of a managed maven or npm Jenkins file

Examples: "bx-maven-settings", "bx-npm-settings"
stages object required

Defines the stages and steps required to build the project.

config object
3 nested properties
jenkins_runtime object
1 nested properties
docker object required

Specifies how to build the Docker container (from an existing image or from a local Dockerfile)

2 nested properties
image string

Prebuilt Docker image (has precedence over dockerfile)

Examples: "remote-host.com/image-name:tag"
dockerfile string

Dockerfile path

branch object

Describes on which branch names a build will be run

2 nested properties
branch_pattern string

Regular expression for validating branch names

disable_validation boolean

Disables branch name validation

Default: false
build object
3 nested properties
clean_workspace_after_run boolean

Whether Jenkins workspace should be cleaned after the build

Default: true
checkmarx object
12 nested properties
enabled boolean
Default: false
groupId string
Default: "55"
preset string
Default: "36"
projectName string
Default: "BSS_BB_Hybrid"
branch_pattern string

Regular expression for validating branch names

useOwnServerCredentials boolean
Default: true
serverUrl string
Default: "http://cxpbgmgmtserver/"
credentialsId string
Default: "BB-Checkmarx"
generatePdfReport boolean
Default: true
sourceEncoding string
Default: "5"
isProxy boolean
Default: false
waitForResultsEnabled boolean
Default: true
static_analysis object
3 nested properties
enabled boolean
Default: true
breaks_build boolean

Waits for analysis result and breaks the build when the project fails for some quality gates.

Default: false
timeout integer

Timeout in seconds

services enum[]

Additional services required by the project or application.

uniqueItems=true
environment object

Custom environment variables to be added to the pipeline

jenkinsEnvironment string[]

Jenkins environment variables that are passed to the Docker container

uniqueItems=true
output object

Describes artifacts generated after all the stages have been run

2 nested properties
docker object
3 nested properties
dockerfile string required

Dockerfile path

image_name string required

Image name for the generated docker image. Cannot include tag. Tag will be automatically generated based on project version.

helm object
3 nested properties
path string required

Path to the folder with all required chart config files

updates outputHelmUpdates[] required

Updates that must be done before packing Helm chart. It's a list of objects that specifies which updates must be done on which files

publish helmReleaseChannel[] required
archive array

List of artifacts to archive (wildcards allowed). Check out https://www.jenkins.io/doc/pipeline/steps/core/#archiveartifacts-archive-the-artifacts

Examples: "target/*.jar", "**/*.jar", "target/out.txt"
timeout integer

Timeout in seconds

Definitions

branchPattern string

Regular expression for validating branch names

timeout integer

Timeout in seconds

credentials string

Jenkins credentials ID

checkmarx object
enabled boolean
Default: false
groupId string
Default: "55"
preset string
Default: "36"
projectName string
Default: "BSS_BB_Hybrid"
branch_pattern string

Regular expression for validating branch names

useOwnServerCredentials boolean
Default: true
serverUrl string
Default: "http://cxpbgmgmtserver/"
credentialsId string
Default: "BB-Checkmarx"
generatePdfReport boolean
Default: true
sourceEncoding string
Default: "5"
isProxy boolean
Default: false
waitForResultsEnabled boolean
Default: true
sonar object
enabled boolean
Default: true
breaks_build boolean

Waits for analysis result and breaks the build when the project fails for some quality gates.

Default: false
timeout integer

Timeout in seconds

stage object
steps array required

List of steps to run

when object

Condition that should be met to run this step

1 nested properties
branch string

Regular expression for validating branch names

releaseChannel string

Release channel name

releaseChannelBranch string

Regular expression for validating branch names

dockerfile string

Dockerfile path

outputDocker object
dockerfile string required

Dockerfile path

image_name string required

Image name for the generated docker image. Cannot include tag. Tag will be automatically generated based on project version.

outputDockerPublish dockerReleaseChannel[]
dockerReleaseChannel object
channel string required

Release channel name

branch branchPattern required

Indicates on which branches the artifact will be published.

registry string required

Docker registry. Must include protocol (http|https) and port

format=uri
credentials string required

Jenkins credentials ID

outputHelm object
path string required

Path to the folder with all required chart config files

updates outputHelmUpdates[] required

Updates that must be done before packing Helm chart. It's a list of objects that specifies which updates must be done on which files

publish helmReleaseChannel[] required
outputHelmUpdates object
file string required

Name (including path from Helm object path) of the file to be updated. Only supports yaml files

properties outputHelmUpdatesProperties[] required

A list of properties to update. It can be updated with a fixed value or environment variable

outputHelmUpdatesProperties object
key string required

Yaml property (full path) to be updated

env string

Environment variable whose value will be used to update the property

pattern=^[A-Za-z_][A-Za-z0-9_]*$
value string

Value to update the given property

outputHelmPublish helmReleaseChannel[]
helmReleaseChannel object
channel string required

Release channel name

branch branchPattern required

Indicates on which branches the artifact will be published.

repository string required

Helm chart repository. Must include protocol, host, port (if needed) and path

format=uri
credentials string required

Jenkins credentials ID