我正在努力创建一个时间戳的格式,我想要使用一个脚本的管道在詹金斯。我的代码来自管道:
def cal = Calendar.instance
def dateFormat = 'YYYYMMDD-hhmmss'
def timeZone = TimeZone.getTimeZone('CST')
def timeStamp = cal.time.format(dateFormat,timeZone)
println "Timestamp is: ${timeStamp}"
env.BUILD_TIMESTAMP = timeStamp
当我经过詹金斯时,我得到了以下信息:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified field java.util.GregorianCalendar time
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:387)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:371)
我在网上看到过类似的问题,但是把它添加到scriptapproval.xml
(重新启动詹金斯)似乎不起作用。
有谁有一种方法可以生成一个与我尝试的格式类似的时间戳?
我想出办法了。我当时在现场time
直接的。如果我换了电话cal.time
到cal.getTime()
詹金斯表现得很好。我把它合并成一条线,但功能是一样的:
def timeStamp = Calendar.getInstance().getTime().format('YYYYMMdd-hhmmss',TimeZone.getTimeZone('CST'))
感谢那些看了一眼的人。
或使用Date()
格式化的SimpleDateFormat()
:
import java.text.SimpleDateFormat
def dateFormat = new SimpleDateFormat("yyyyMMddHHmmss")
def date = new Date()
def timestamp = dateFormat.format(date)
您检查过管理jenkins下的过程中脚本审批页面了吗?在最后,它与编写脚本一样。xml,但是给你一些关于什么应该被批准的信息。
@巴萨埃是的。我查过了。上面没什么可以批准的。
是否需要依赖?