github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/src/com/sap/piper/StageNameProvider.groovy (about)

     1  package com.sap.piper
     2  
     3  @Singleton
     4  class StageNameProvider implements Serializable {
     5      static final long serialVersionUID = 1L
     6  
     7      /** Stores a feature toggle for defaulting to technical names in stages */
     8      boolean useTechnicalStageNames = false
     9  
    10      String getStageName(Script script, Map parameters, Script step) {
    11          if (parameters.stageName in CharSequence) {
    12              return parameters.stageName
    13          }
    14          if (this.useTechnicalStageNames) {
    15              String technicalStageName = getTechnicalStageName(step)
    16              if (technicalStageName) {
    17                  return technicalStageName
    18              }
    19          }
    20          return script.env.STAGE_NAME
    21      }
    22  
    23      static String getTechnicalStageName(Script step) {
    24          try {
    25              return step.TECHNICAL_STAGE_NAME
    26          } catch (Throwable ignored) {
    27          }
    28          return null
    29      }
    30  }