2016-10-26 32 views
3

我想要使用hudson的管道插件獲取內聯管道腳本中的當前時間戳。用於設置構建顯示名稱。使用hudson的管道插件在內聯管道腳本中獲取當前時間戳

內聯Groovy腳本使用:

def jobName = env.JOB_NAME + "_" + new Date() 
currentBuild.displayName = "$jobName" 
node { 
    echo "job name $jobName" 
} 

錯誤控制檯上:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: 
    Scripts not permitted to use new java.util.Date 
+0

你曾經搜索過RejectedAccessException嗎?請參閱http://stackoverflow.com/a/39412951/6894050 – arasio

回答

4

詹金斯腳本在沙箱中運行,默認情況下的Groovy腳本沒有對某些操作的權限。

當您在沒有權限的情況下執行操作時,會引發RejectAccessException。所以,你執行你的腳本,然後當拋出異常,請訪問:

http://yourHost/jenkins/scriptApproval/ 

並批准必要的權限:

enter image description here

5

,你也可以用這個,我需要這個以毫秒爲單位:

echo "TimeStamp: ${currentBuild.startTimeInMillis}" 

echo "TimeStamp: ${Util.getTimeSpanString(System.currentTimeMillis()}"