github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/src/com/sap/piper/cm/StepHelpers.groovy (about) 1 package com.sap.piper.cm 2 3 import com.cloudbees.groovy.cps.NonCPS 4 5 public class StepHelpers { 6 7 @Deprecated // use go implementation instead 8 public static def getTransportRequestId(ChangeManagement cm, def script, Map configuration) { 9 10 def transportRequestId = configuration.transportRequestId 11 12 if(transportRequestId?.trim()) { 13 14 script.echo "[INFO] Transport request id '${transportRequestId}' retrieved from parameters." 15 return transportRequestId 16 17 } 18 19 transportRequestId = script.commonPipelineEnvironment.getValue('transportRequestId') 20 21 if(transportRequestId?.trim()) { 22 script.echo "[INFO] Transport request id '${transportRequestId}' retrieved from common pipeline environment." 23 return transportRequestId 24 } 25 26 script.echo "[INFO] Retrieving transport request id from commit history [from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}]." + 27 " Searching for pattern '${configuration.changeManagement.transportRequestLabel}'. Searching with format '${configuration.changeManagement.git.format}'." 28 29 try { 30 transportRequestId = cm.getTransportRequestId( 31 configuration.changeManagement.git.from, 32 configuration.changeManagement.git.to, 33 configuration.changeManagement.transportRequestLabel, 34 configuration.changeManagement.git.format 35 ) 36 37 script.commonPipelineEnvironment.setValue('transportRequestId', "${transportRequestId}") 38 script.echo "[INFO] Transport request id '${transportRequestId}' retrieved from commit history" 39 40 } catch(ChangeManagementException ex) { 41 script.echo "[WARN] Cannot retrieve transportRequestId from commit history: ${ex.getMessage()}." 42 } 43 44 transportRequestId 45 } 46 47 @Deprecated // use go implementation instead 48 public static getChangeDocumentId(ChangeManagement cm, def script, Map configuration) { 49 def changeDocumentId = configuration.changeDocumentId 50 51 if(changeDocumentId?.trim()) { 52 53 script.echo "[INFO] ChangeDocumentId '${changeDocumentId}' retrieved from parameters." 54 return changeDocumentId 55 } 56 57 changeDocumentId = script.commonPipelineEnvironment.getChangeDocumentId() 58 59 if(changeDocumentId?.trim()) { 60 61 script.echo "[INFO] ChangeDocumentId '${changeDocumentId}' retrieved from common pipeline environment." 62 return changeDocumentId 63 } 64 65 script.echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}]." + 66 "Searching for pattern '${configuration.changeManagement.changeDocumentLabel}'. Searching with format '${configuration.changeManagement.git.format}'." 67 68 try { 69 changeDocumentId = cm.getChangeDocumentId( 70 configuration.changeManagement.git.from, 71 configuration.changeManagement.git.to, 72 configuration.changeManagement.changeDocumentLabel, 73 configuration.changeManagement.git.format 74 ) 75 76 script.echo "[INFO] ChangeDocumentId '${changeDocumentId}' retrieved from commit history" 77 script.commonPipelineEnvironment.setChangeDocumentId(changeDocumentId) 78 79 } catch(ChangeManagementException ex) { 80 script.echo "[WARN] Cannot retrieve changeDocumentId from commit history: ${ex.getMessage()}." 81 } 82 83 return changeDocumentId 84 } 85 86 public static def getTransportRequestId(def script, Map configuration) { 87 88 def transportRequestId = configuration.transportRequestId 89 90 if(transportRequestId?.trim()) { 91 92 script.echo "[INFO] transportRequestId '${transportRequestId}' retrieved from parameters." 93 return transportRequestId 94 95 } 96 97 transportRequestId = script.commonPipelineEnvironment.getValue('transportRequestId') 98 99 if(transportRequestId?.trim()) { 100 script.echo "[INFO] transportRequestId '${transportRequestId}' retrieved from common pipeline environment." 101 return transportRequestId 102 } 103 104 script.echo "[INFO] Retrieving transportRequestId from commit history [" + 105 "from: ${configuration.changeManagement.git.from}, " + 106 "to: ${configuration.changeManagement.git.to}]." + 107 "transportRequestLabel: '${configuration.changeManagement.transportRequestLabel}']." 108 109 script.transportRequestReqIDFromGit(script: script, 110 gitFrom: configuration.changeManagement.git.from, 111 gitTo: configuration.changeManagement.git.to, 112 transportRequestLabel: configuration.changeManagement.transportRequestLabel 113 ) 114 115 transportRequestId = script.commonPipelineEnvironment.getValue('transportRequestId') 116 if(transportRequestId != null) { 117 script.echo "[INFO] transportRequestId '${transportRequestId}' retrieved from commit history" 118 } 119 else{ 120 script.echo "[WARN] Cannot retrieve transportRequestId from commit history [" + 121 "from: ${configuration.changeManagement.git.from}, " + 122 "to: ${configuration.changeManagement.git.to}, " + 123 "transportRequestLabel: '${configuration.changeManagement.transportRequestLabel}']." 124 } 125 126 return transportRequestId 127 } 128 129 public static getChangeDocumentId(def script, Map configuration) { 130 def changeDocumentId = configuration.changeDocumentId 131 132 if(changeDocumentId?.trim()) { 133 134 script.echo "[INFO] changeDocumentId '${changeDocumentId}' retrieved from parameters." 135 return changeDocumentId 136 } 137 138 changeDocumentId = script.commonPipelineEnvironment.getValue('changeDocumentId') 139 140 if(changeDocumentId?.trim()) { 141 142 script.echo "[INFO] changeDocumentId '${changeDocumentId}' retrieved from common pipeline environment." 143 return changeDocumentId 144 } 145 146 script.echo "[INFO] Retrieving changeDocumentId from commit history [" + 147 "from: ${configuration.changeManagement.git.from}, " + 148 "to: ${configuration.changeManagement.git.to}, " + 149 "changeDocumentLabel: '${configuration.changeManagement.changeDocumentLabel}']." 150 151 script.transportRequestDocIDFromGit(script: script, 152 gitFrom: configuration.changeManagement.git.from, 153 gitTo: configuration.changeManagement.git.to, 154 changeDocumentLabel: configuration.changeManagement.changeDocumentLabel 155 ) 156 157 changeDocumentId = script.commonPipelineEnvironment.getValue('changeDocumentId') 158 159 if(changeDocumentId == null) { 160 script.echo "[WARN] Cannot retrieve changeDocumentId from commit history [" + 161 "from: ${configuration.changeManagement.git.from}, " + 162 "to: ${configuration.changeManagement.git.to}, " + 163 "changeDocumentLabel: '${configuration.changeManagement.changeDocumentLabel}']." 164 } 165 else { 166 script.echo "[INFO] changeDocumentId '${changeDocumentId}' retrieved from commit history" 167 } 168 169 return changeDocumentId 170 } 171 172 @NonCPS 173 static BackendType getBackendTypeAndLogInfoIfCMIntegrationDisabled(def script, Map configuration) { 174 175 BackendType backendType 176 177 try { 178 backendType = configuration.changeManagement.type as BackendType 179 } catch(IllegalArgumentException e) { 180 script.error "Invalid backend type: '${configuration.changeManagement.type}'. " + 181 "Valid values: [${BackendType.values().join(', ')}]. " + 182 "Configuration: 'changeManagement/type'." 183 } 184 185 if (backendType == BackendType.NONE) { 186 script.echo "[INFO] Change management integration intentionally switched off. " + 187 "In order to enable it provide 'changeManagement/type with one of " + 188 "[${BackendType.values().minus(BackendType.NONE).join(', ')}] and maintain " + 189 "other required properties like 'endpoint', 'credentialsId'." 190 } 191 192 return backendType 193 } 194 }