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 must 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.

Usage

We recommend to define values of step parameters via config.yml file. In this case, calling the step is reduced to one simple line.
Calling the step can be done either via the Jenkins library step or on the command line.

Jenkins Pipeline

library('piper-lib-os')

abapAddonAssemblyKitReserveNextPackages script: this

Command Line

piper abapAddonAssemblyKitReserveNextPackages

Outputs

Output type Details
commonPipelineEnvironment
  • abap/addonDescriptor

Prerequisites

  • The credentials to access the AAKaaS (e.g. S-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

Parameters

Overview

Name Mandatory Additional information
abapAddonAssemblyKitEndpoint yes
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
verbose no activates debug output

Details

abapAddonAssemblyKitEndpoint

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

back to overview

Scope Details
Aliases -
Type string
Mandatory yes
Default $PIPER_abapAddonAssemblyKitEndpoint (if set)
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

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

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

The config.yml should look like this:

steps:
  abapAddonAssemblyKitReserveNextPackages:
    abapAddonAssemblyKitCredentialsId: 'abapAddonAssemblyKitCredentialsId',
    abapAddonAssemblyKitEndpoint: 'https://myabapAddonAssemblyKitEndpoint.com',

Input via the CommonPipelineEnvironment

Mandatory fields:

{"addonProduct":"",
"addonVersion":"",
"addonVersionAAK":"",
"addonUniqueID":"",
"customerID":"",
"AddonSpsLevel":"",
"AddonPatchLevel":"",
"TargetVectorID":"",
"repositories":[
  {
    "name":"/DMO/REPO_A",
    "tag":"",
    "branch":"",
    "version":"1.0.1",
    "versionAAK":"",
    "PackageName":"",
    "PackageType":"",
    "SpLevel":"",
    "PatchLevel":"",
    "PredecessorCommitID":"",
    "Status":"",
    "Namespace":"",
    "SarXMLFilePath":""
  },
  {
    "name":"/DMO/REPO_B",
    "tag":"",
    "branch":"",
    "version":"2.1.1",
    "versionAAK":"",
    "PackageName":"",
    "PackageType":"",
    "SpLevel":"",
    "PatchLevel":"",
    "PredecessorCommitID":"",
    "Status":"",
    "Namespace":"",
    "SarXMLFilePath":""
  }
]}