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 step 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 logon you can either provide a credential with basic authorization (username and password) or two secret text credentials containing the technical s-users certificate (see note 2805811 for download) as base64 encoded string and the password to decrypt the file
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 |
|
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 | |
script | (yes) | reference to Jenkins main pipeline script |
abapAddonAssemblyKitCertificateFile | no | pass via ENV or Jenkins credentials (abapAddonAssemblyKitCertificateFileCredentialsId ) |
abapAddonAssemblyKitCertificatePass | no | pass via ENV or Jenkins credentials (abapAddonAssemblyKitCertificatePassCredentialsId ) |
abapAddonAssemblyKitEndpoint | no | |
abapAddonAssemblyKitOriginHash | no | pass via ENV or Jenkins credentials |
maxRuntimeInMinutes | no | |
password | no | pass via ENV or Jenkins credentials |
pollingIntervalInSeconds | no | |
username | no | pass via ENV or Jenkins credentials |
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¶
abapAddonAssemblyKitCertificateFile¶
base64 encoded certificate pfx file (PKCS12 format) see note 2805811
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | no |
Default | $PIPER_abapAddonAssemblyKitCertificateFile (if set) |
Secret | yes |
Configuration scope |
|
Resource references | Jenkins credential id: id: abapAddonAssemblyKitCertificateFileCredentialsId reference to: abapAddonAssemblyKitCertificateFile |
abapAddonAssemblyKitCertificatePass¶
password to decrypt the certificate file
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | no |
Default | $PIPER_abapAddonAssemblyKitCertificatePass (if set) |
Secret | yes |
Configuration scope |
|
Resource references | Jenkins credential id: id: abapAddonAssemblyKitCertificatePassCredentialsId reference to: abapAddonAssemblyKitCertificatePass |
abapAddonAssemblyKitEndpoint¶
Base URL to the Addon Assembly Kit as a Service (AAKaaS) system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | no |
Default | https://apps.support.sap.com |
Secret | no |
Configuration scope |
|
Resource references | none |
abapAddonAssemblyKitOriginHash¶
Origin Hash for restricted AAKaaS scenarios
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | no |
Default | $PIPER_abapAddonAssemblyKitOriginHash (if set) |
Secret | yes |
Configuration scope |
|
Resource references | none |
addonDescriptor¶
Structure in the commonPipelineEnvironment containing information about the Product Version and corresponding Software Component Versions
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | yes |
Default | $PIPER_addonDescriptor (if set) |
Secret | no |
Configuration scope |
|
Resource references | commonPipelineEnvironment: reference to: abap/addonDescriptor |
maxRuntimeInMinutes¶
Maximum runtime for status polling in minutes
Scope | Details |
---|---|
Aliases | - |
Type | int |
Mandatory | no |
Default | 5 |
Secret | no |
Configuration scope |
|
Resource references | none |
password¶
Password for the Addon Assembly Kit as a Service (AAKaaS) system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | no |
Default | $PIPER_password (if set) |
Secret | yes |
Configuration scope |
|
Resource references | none |
pollingIntervalInSeconds¶
Wait time in seconds between polling calls
Scope | Details |
---|---|
Aliases | - |
Type | int |
Mandatory | no |
Default | 30 |
Secret | no |
Configuration scope |
|
Resource references | none |
script¶
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.
Scope | Details |
---|---|
Aliases | - |
Type | Jenkins Script |
Mandatory | yes |
Default | |
Secret | no |
Configuration scope |
|
Resource references | none |
username¶
User for the Addon Assembly Kit as a Service (AAKaaS) system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | no |
Default | $PIPER_username (if set) |
Secret | yes |
Configuration scope |
|
Resource references | none |
verbose¶
verbose output
Scope | Details |
---|---|
Aliases | - |
Type | bool |
Mandatory | no |
Default | false |
Possible values | - true - false |
Secret | no |
Configuration scope |
|
Resource references | none |
abapAddonAssemblyKitCredentialsId¶
Credential stored in Jenkins for the Addon Assembly Kit as a Service (AAKaaS) system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Configuration scope |
|
abapAddonAssemblyKitCertificateFileCredentialsId¶
Jenkins secret text credential ID containing the base64 encoded certificate pfx file (PKCS12 format) see note 2805811
Scope | Details |
---|---|
Aliases | - |
Type | string |
Configuration scope |
|
abapAddonAssemblyKitCertificatePassCredentialsId¶
Jenkins secret text credential ID containing the password to decrypt the certificate file stored in abapAddonAssemblyKitCertificateFileCredentialsId
Scope | Details |
---|---|
Aliases | - |
Type | string |
Configuration scope |
|
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.