Skip to content

abapAddonAssemblyKitReserveNextPackages

This step determines the ABAP delivery packages (name and type), which are needed to deliver Software Component Versions.

Description

This step takes the list of Software Component Versions from the addonDescriptor in the commonPipelineEnvironment and determines the ABAP delivery packages. If a package does not exist yet in the package registry, it is created there. The response contains detail information for this package and a package status, which determines the next actions: "P": Package was created in the registry; production can be started / continued "R": Package exists and is already released; production is not needed and will be skipped The steps waits until the status "P" or "R" is achieved. The name, type and namespace of each package is written back to the addonDescriptor in the commonPipelineEnvironment.
For Terminology refer to the Scenario Description.

Usage

We recommend to define values of step parameters via .pipeline/config.yml file.
In this case, calling the step is essentially reduced to defining the step name.
Calling the step can be done either in an orchestrator specific way (e.g. via a Jenkins library step) or on the command line.

library('piper-lib-os')

abapAddonAssemblyKitReserveNextPackages script: this
piper abapAddonAssemblyKitReserveNextPackages

Outputs

Output type Details
commonPipelineEnvironment
  • abap/addonDescriptor

Prerequisites

  • The credentials to access the AAKaaS (Technical Communication User) must be stored in the Jenkins Credential Store
  • The step needs information about the Software Component Versions for which packages should be reserved.
  • This information is provided via the addonDescriptor in the commonPipelineEnvironment where the fields 'name' and 'version' in the repositories list need to be filled.
  • The Software Component Versions must be valid.
  • The validation is performed and the required information is written to the CommonPipelineEnvironment if you run prior to this step the step abapAddonAssemblyKitCheckCVs

A detailed description of all prerequisites of the scenario and how to configure them can be found in the Scenario Description.

Parameters

Overview - Step

Name Mandatory Additional information
addonDescriptor yes
password (yes) Secret pass via ENV or Jenkins credentials
script (yes) Jenkins only reference to Jenkins main pipeline script
username (yes) Secret pass via ENV or Jenkins credentials
abapAddonAssemblyKitEndpoint no
maxRuntimeInMinutes no
pollingIntervalInSeconds no
verbose no activates debug output

Overview - Execution Environment

Orchestrator-specific only

These parameters are relevant for orchestrator usage and not considered when using the command line option.

Name Mandatory Additional information

Details

abapAddonAssemblyKitEndpoint

Base URL to the Addon Assembly Kit as a Service (AAKaaS) system

back to overview

Scope Details
Aliases -
Type string
Mandatory no
Default https://apps.support.sap.com
Secret no
Configuration scope
  • ☒ parameter
  • ☒ general
  • ☒ steps
  • ☒ stages
Resource references none

addonDescriptor

Structure in the commonPipelineEnvironment containing information about the Product Version and corresponding Software Component Versions

back to overview

Scope Details
Aliases -
Type string
Mandatory yes
Default $PIPER_addonDescriptor (if set)
Secret no
Configuration scope
  • ☒ parameter
  • ☐ general
  • ☒ steps
  • ☒ stages
Resource references commonPipelineEnvironment:
  reference to: abap/addonDescriptor

maxRuntimeInMinutes

Maximum runtime for status polling in minutes

back to overview

Scope Details
Aliases -
Type int
Mandatory no
Default 5
Secret no
Configuration scope
  • ☒ parameter
  • ☒ general
  • ☒ steps
  • ☒ stages
Resource references none

password

Password for the Addon Assembly Kit as a Service (AAKaaS) system

back to overview

Scope Details
Aliases -
Type string
Mandatory yes
Default $PIPER_password (if set)
Secret yes
Configuration scope
  • ☒ parameter
  • ☐ general
  • ☐ steps
  • ☐ stages
Resource references none

pollingIntervalInSeconds

Wait time in seconds between polling calls

back to overview

Scope Details
Aliases -
Type int
Mandatory no
Default 30
Secret no
Configuration scope
  • ☒ parameter
  • ☒ general
  • ☒ steps
  • ☒ stages
Resource references none

script

Jenkins-specific: Used for proper environment setup.

The common script environment of the Jenkinsfile running. Typically the reference to the script calling the pipeline step is provided with the this parameter, as in script: this. This allows the function to access the commonPipelineEnvironment for retrieving, e.g. configuration parameters.

back to overview

Scope Details
Aliases -
Type Jenkins Script
Mandatory yes
Default
Secret no
Configuration scope
  • ☐ parameter
  • ☐ general
  • ☐ steps
  • ☐ stages
Resource references none

username

User for the Addon Assembly Kit as a Service (AAKaaS) system

back to overview

Scope Details
Aliases -
Type string
Mandatory yes
Default $PIPER_username (if set)
Secret yes
Configuration scope
  • ☒ parameter
  • ☐ general
  • ☒ steps
  • ☒ stages
Resource references none

verbose

verbose output

back to overview

Scope Details
Aliases -
Type bool
Mandatory no
Default false
Possible values - true
- false
Secret no
Configuration scope
  • ☒ parameter
  • ☒ general
  • ☒ steps
  • ☒ stages
Resource references none

abapAddonAssemblyKitCredentialsId

Jenkins-specific: Used for proper environment setup. See using credentials for details.

Credential stored in Jenkins for the Addon Assembly Kit as a Service (AAKaaS) system

back to overview

Scope Details
Aliases -
Type string
Configuration scope
  • ☒ parameter
  • ☒ general
  • ☒ steps
  • ☒ stages

Examples

Configuration in the config.yml

The recommended way to configure your pipeline is via the config.yml file. In this case, calling the step in the Jenkinsfile is reduced to one line:

abapAddonAssemblyKitReserveNextPackages script: this

If the step is to be configured individually the config.yml should look like this:

steps:
  abapAddonAssemblyKitReserveNextPackages:
    abapAddonAssemblyKitCredentialsId: 'abapAddonAssemblyKitCredentialsId'

More convenient ways of configuration (e.g. on stage level) are described in the respective scenario/pipeline documentation.