Два решения,
переименуйте файл перед его загрузкой.
- Если у вас есть только один файл и вы знаете его имя:
sh 'mv toto.war `date +"%d-%m-%Y-%H.%M"`toto.war'
- Если у вас есть несколько файлов, имена которых вы не знаете
sh '''#!/bin/bash
for i in *.war; do mv "$i" ${i::-4}`date +"--%d-%m-%Y-%H.%M"`.war; done
'''
Здесь мы используем bash для l oop через все файлы .war и переместите их, чтобы переименовать. ${i::-4}
удаляет расширение. Вы можете изменить формат даты, посмотрев справочную страницу даты.
используйте groovy и позвольте целевому свойству переименовать
@Field def timeStamp = Calendar.getInstance().getTime().format('YYYYMMdd-hhmmss',TimeZone.getTimeZone('CST'))
uploadSpec = """{
"files": [
{
"pattern": "./build/*.war",
"target": "<path-to-target>.${timeStamp}.war"
}
} """
оригинальное сообщение от: Как добавить метку времени для артефактов в Jenkins
как вы упомянули, вам также нужно будет добавить в белый список метод Calendar.getInstance, getTime и getTimeZone