如何在groovy文件中的bat命令中获取环境变量?
这里是make de环境变量:如何在groovy文件中的bat命令中获取环境变量?,groovy,jenkins-pipeline,Groovy,Jenkins Pipeline,这里是make de环境变量: environment { SERVICE_NAME = getServiceName() } 方法如下: def getServiceName() { String projectName = env.JOB_BASE_NAME print 'projectName '+projectName +'\n' String[] projectParts = projectName.tokenize( '-' ) Strin
environment {
SERVICE_NAME = getServiceName()
}
方法如下:
def getServiceName() {
String projectName = env.JOB_BASE_NAME
print 'projectName '+projectName +'\n'
String[] projectParts = projectName.tokenize( '-' )
String bian = projectParts[1]
String name = projectParts[0]+'-'+projectParts[1]+'-'+projectParts[2]
return name
}
我需要在下一个bat命令中使用de SERVICE_NAME变量,但它给了我一个错误:
bat '''
copy "C:\\Users\\""\\.jenkins\\workspace\\'"%env.SERVICE_NAME%"'\\target\\newman\\V2\\report.html" "C:\\server\\test\\'"env.SERVICE_NAME"'\\report_%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.html"
copy "C:\\Users\\""\\.jenkins\\workspace\\'"%env.SERVICE_NAME%"'\\target\\newman\\V2\\report.json" "C:\\server\\test\\'"env.SERVICE_NAME"'\\report_%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.json"
'''
错误是什么?我认为批处理命令无法识别
env.
。使用%SERVICE\u NAME%
或$env.SERVICE\u NAME
,在这两种情况下都不使用额外的引号。后者将允许Groovy对其进行插值,而不是使用Windows命令行。请尝试使用bat“”“echo%SERVICE\u NAME%”,然后我们继续前进。