github.com/xgoffin/jenkins-library@v1.154.0/vars/abapEnvironmentPipelineStageATC.groovy (about)

     1  import groovy.transform.Field
     2  import com.cloudbees.groovy.cps.NonCPS
     3  import com.sap.piper.GenerateStageDocumentation
     4  import groovy.transform.Field
     5  import com.sap.piper.Utils
     6  import com.sap.piper.ConfigurationHelper
     7  import com.sap.piper.ConfigurationLoader
     8  
     9  import static com.sap.piper.Prerequisites.checkScript
    10  
    11  @Field String STEP_NAME = getClass().getName()
    12  @Field Set GENERAL_CONFIG_KEYS = []
    13  @Field STAGE_STEP_KEYS = [
    14      /** Starts an ATC check run on the ABAP Environment instance */
    15      'abapEnvironmentRunATCCheck',
    16      /** Creates/Updates ATC System Configuration */
    17      'abapEnvironmentPushATCSystemConfig',
    18      /** Parameter for ATC System Configuration json */
    19      'atcSystemConfigFilePath'
    20  ]
    21  @Field Set STEP_CONFIG_KEYS = GENERAL_CONFIG_KEYS.plus(STAGE_STEP_KEYS)
    22  @Field Set PARAMETER_KEYS = STEP_CONFIG_KEYS
    23  /**
    24   * This stage runs the ATC Checks & create/update ATC System Configuration before in case File Location provided
    25   */
    26  void call(Map parameters = [:]) {
    27      def script = checkScript(this, parameters) ?: this
    28      def stageName = parameters.stageName?:env.STAGE_NAME
    29  
    30      // load default & individual configuration
    31      Map config = ConfigurationHelper.newInstance(this)
    32          .loadStepDefaults([:], stageName)
    33          .mixin(ConfigurationLoader.defaultStageConfiguration(script, stageName))
    34          .mixinGeneralConfig(script.commonPipelineEnvironment, GENERAL_CONFIG_KEYS)
    35          .mixinStepConfig(script.commonPipelineEnvironment, STEP_CONFIG_KEYS)
    36          .mixinStageConfig(script.commonPipelineEnvironment, stageName, STEP_CONFIG_KEYS)
    37          .mixin(parameters, PARAMETER_KEYS)
    38          .use()
    39  
    40      piperStageWrapper (script: script, stageName: stageName, stashContent: [], stageLocking: false) {
    41          if (config.atcSystemConfigFilePath) {
    42            abapEnvironmentPushATCSystemConfig script: parameters.script
    43          }
    44          abapEnvironmentRunATCCheck script: parameters.script
    45      }
    46  }