Skip to content

Pull-Request Voting

This stage is executed for every pull-request.
For non-Docker builds it will execute the respective build (including unit tests, static checks, ...).

Build Tool not in the list?

For build tools which are currently not in the list a custom dockerImage can be used with a custom dockerCommand as per step buildExecute

For buildTool: docker a local Docker build will be executed in case a Docker deamon is available, if not buildTool: 'kaniko' will be used instead.

Advanced Pull-Request Voting

It is possible to trigger dedicated tests/checks

  • pull request comments
  • pull request labels

Following steps are currently supported

step name comment pull-request label
karmaExecuteTests /piper karma pr_karma
whitesourceExecuteScan /piper whitesource pr_whitesource

Stage Content

This stage comprises following steps which are activated depending on your use-case/configuration:

step step description
buildExecute Triggers the build execution.
checksPublishResults Publishes check results to Jenkins. It will always be active.
karmaExecuteTests Executes karma tests. For example suitable for OPA5 testing as well as QUnit testing of SAP UI5 apps.
This step is not active by default. It can be activated by: * using pull request comments or pull request lables (see Advanced Pull-Request Voting. * explicit activation via stage configuration.
mavenExecuteIntegration Runs backend integration tests via maven in the module integration-tests/pom.xml
mavenExecuteStaticCodeChecks Executes static code checks for Maven based projects. The plugins SpotBugs and PMD are used.
npmExecuteLint Executes linting for npm projects.
npmExecuteScripts Executes npm scripts to run frontend unit tests. If custom names for the npm scripts are configured via the runScripts parameter the step npmExecuteScripts needs explicit activation via stage configuration.
sonarExecuteScan Executes a Sonar scan.
testsPublishResults Publishes test results to Jenkins. It will always be active.
whitesourceExecuteScan Executes a WhiteSource scan This step is not active by default. It can be activated by: * using pull request comments or pull request lables (see Advanced Pull-Request Voting. * explicit activation via stage configuration.

Stage Activation

This stage will be active if any one of the following conditions is met:

  • Stage configuration in config.yml file contains entries for this stage.
  • Any of the conditions are met which are explained in the section Step Activation.

Step Activation

For this stage no conditions are assigned to steps.

Additional Stage Parameters

name mandatory default possible values
buildTool no docker, kaniko, maven, mta, npm
script yes
  • buildTool - Defines the build tool used.
  • 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.

Configuration of Additional Stage Parameters

The stage parameters need to be defined in the section stages of config.yml file.