Skip to content

abapAddonAssemblyKitCheck

This step calls AAKaaS to check the validity of the Addon Product Modelling.

Description

This step does the following:


  • [The Addon Product Modelling](https://www.project-piper.io/scenarios/abapEnvironmentAddons/#add-on-descriptor-file) is read from the addonDescriptorFileName (e.g. addon.yml)
  • A connection to AAKaaS (Addon Assembly Kit as a Service) is established and the Addon Product Modelling is transfered for detailed [checks](https://www.project-piper.io/scenarios/abapEnvironmentAddons/#versioning-rules)
  • The semantic versions are resolved and stored into the piper commonPipelineEnviroment for usage of subsequent pipeline steps

For logon to AAKaaS 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')

abapAddonAssemblyKitCheck script: this
piper abapAddonAssemblyKitCheck

Outputs

Output type Details
commonPipelineEnvironment
  • abap/addonDescriptor

Artifacts

  • addonDescriptorFile (addon.yml) The addonDescriptorFile as specified in parameter addonDescriptorFileName is archived as artifact. This is done as this file is the main configuration and usually changed with every run. Thus it simplifies support if the corresponding configuration file is directly accessible in the pipeline.

Prerequisites

  • The credentials to access the AAKaaS (Technical Communication User) must be stored in the Jenkins Credential Store
  • The step needs an addon.yml containing information about the Product Version and corresponding Software Component Versions/Repositories

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
script (yes) Jenkins only reference to Jenkins main pipeline script
abapAddonAssemblyKitCertificateFile no Secret pass via ENV or Jenkins credentials (abapAddonAssemblyKitCertificateFileCredentialsId)
abapAddonAssemblyKitCertificatePass no Secret pass via ENV or Jenkins credentials (abapAddonAssemblyKitCertificatePassCredentialsId)
abapAddonAssemblyKitEndpoint no
addonDescriptor no
addonDescriptorFileName no
password no Secret pass via ENV or Jenkins credentials
username no Secret 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

back to overview

Scope Details
Aliases -
Type string
Mandatory no
Default $PIPER_abapAddonAssemblyKitCertificateFile (if set)
Secret yes
Configuration scope
  • ☒ parameter
  • ☐ general
  • ☐ steps
  • ☐ stages
Resource references Jenkins credential id:
  id: abapAddonAssemblyKitCertificateFileCredentialsId
  reference to: abapAddonAssemblyKitCertificateFile

abapAddonAssemblyKitCertificatePass

password to decrypt the certificate file

back to overview

Scope Details
Aliases -
Type string
Mandatory no
Default $PIPER_abapAddonAssemblyKitCertificatePass (if set)
Secret yes
Configuration scope
  • ☒ parameter
  • ☐ general
  • ☐ steps
  • ☐ stages
Resource references Jenkins credential id:
  id: abapAddonAssemblyKitCertificatePassCredentialsId
  reference to: abapAddonAssemblyKitCertificatePass

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 no
Default $PIPER_addonDescriptor (if set)
Secret no
Configuration scope
  • ☒ parameter
  • ☐ general
  • ☒ steps
  • ☒ stages
Resource references commonPipelineEnvironment:
  reference to: abap/addonDescriptor

addonDescriptorFileName

File name of the YAML file which describes the Product Version and corresponding Software Component Versions

back to overview

Scope Details
Aliases -
Type string
Mandatory no
Default addon.yml
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 no
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 no
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.

CredentialsId 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

abapAddonAssemblyKitCertificateFileCredentialsId

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

Jenkins secret text credential ID containing the base64 encoded certificate pfx file (PKCS12 format) see note 2805811

back to overview

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

abapAddonAssemblyKitCertificatePassCredentialsId

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

Jenkins secret text credential ID containing the password to decrypt the certificate file stored in abapAddonAssemblyKitCertificateFileCredentialsId

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:

abapAddonAssemblyKitCheck script: this

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

steps:
  abapAddonAssemblyKitCheck:
    abapAddonAssemblyKitCredentialsId: 'abapAddonAssemblyKitCredentialsId',
    addonDescriptorFileName: 'addon.yml'

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