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 |
|
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 |
---|---|---|
addonDescriptor | yes | |
password | yes | |
script | yes | |
username | yes | |
abapAddonAssemblyKitEndpoint | no | |
verbose | no | activates debug output |
Details¶
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 |
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 |
password¶
Password for the Addon Assembly Kit as a Service (AAKaaS) system
Scope | Details |
---|---|
Aliases | - |
Type | string |
Mandatory | yes |
Default | $PIPER_password (if set) |
Secret | yes |
Configuration scope |
|
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.
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 | yes |
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¶
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
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
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":"" } ]}