${util.getCalendar().getShortYear()} is not translate to 20.
worked before.
it was useful for adding custom build list based on system.getBuildManager()
Unfortunately this is true for now. I filed an improvement request to be able to disable html editor per property:
code example for build list on dashboard:
${groovy: configuration_id = 2; number_of_builds = 10; qb_link = 'http://quickbuild.domain.com' configuration_path = system.getConfigurationManager().get(configuration_id).getPathName()
if (system.getConfiguration(configuration_path) != null) {
def build_list = '<div class="round-box build-history"><table class="records builds"><thead><tr class="headers">'
build_list += '<th class="id"><span>Id</span></th>'
build_list += '<th><span>Version</span></th>'
build_list += '<th><span>Configuration</span></th>'
build_list += '<th><span>Begin Date</span></th>'
build_list += '<th class="id"><span>Duration</span></th>'
build_list += '<th><span>Triggered By</span></th>'
build_list += '</tr></thead><tbody>'
def prev_build = system.getConfiguration(configuration_path).getLatestBuild()
def triggered_by = ''
def image = ''
def status_class = ''
def duration = ''
def i = 0
while(i<number_of_builds){
if(prev_build == null) {break;\}
if( i % 2) {
build_list += '<tr class="odd">' \}
else {
build_list += '<tr class="even">'
\}
if(prev_build.isScheduled()){
triggered_by = '<b>Scheduler</b>' \}
else{
triggered_by = prev_build.getRequester().getDisplayName()
\}
if(prev_build.isRunning()){
duration = '<b>running...</b>'
image = 'spin-ball'
status_class = 'running' \}
else{
duration = util.formatDuration(prev_build.getDuration())
switch (prev_build.getStatus()) {
case 'SUCCESSFUL':
image = 'green-ball'
status_class = 'successful'
break
case 'FAILED':
image = 'red-ball'
status_class = 'failed'
break
case 'RECOMMENDED':
image = 'star'
status_class = 'recommended'
break
case 'CANCELLED':
image = 'cancelled'
status_class = 'cancelled'
break
case 'TIMEOUT':
image = 'timeout'
status_class = 'timeout'
break
default:
result = 'green-ball'
status_class = 'successful'
\}
\}
build_list += '<td class="id"><span>' + prev_build.getId() + '</span></td>'
build_list += '<td><span><div class="build-info"><img src="' + qb_link + '/images/' + image + '.gif"> <a href="' + qb_link + '/build/' + prev_build.getId() + '" target="new" class="build-status ' + status_class + ' maskable">' + prev_build.getVersion() +'</a></div></span></td>'
build_list += '<td><span><a href="' + qb_link + '/' + configuration_id + '" target="new">' + configuration_path + '</a></span></td>'
build_list += '<td class="id"><span>' + util.formatDate(prev_build.getBeginDate()) + '</span></td>'
build_list += '<td><span>' + duration +'</span></td>'
build_list += '<td><span>' + triggered_by + '</span></td></tr>'
prev_build = system.getBuildManager().getPrevious(prev_build)
i = i+1
\}
build_list += '</tbody></table></div>'
build_list
\}
}