Upgrade to 3.0.x
Upgrade procedures
Incompatibilities with 2.x
-
If empty value is specified for a prompted variable, the variable will get value of null. In 2.x, the default value will be used when prompted value is left empty.
-
View log by step is not possible for migrated builds.
-
Executed steps should be referenced by Step Path instead of step name.
-
RESTful API is not compatible with 2.x. Existing programs needs to be changed to use the new API in order to interact with 3.x server.
-
QuickBuild tray monitor needs to be reinstalled in order to interact with 3.x server.
-
The method isScheduled() of configuration object is now removed. Call request.scheduled instead to check for scheduled build.
-
The current object used in next build version field needs to be replaced with configuration as current now points to the version manager object itself.
-
Builds can not be moved from one configuration to another; otherwise, change and issue comparison will not be accurate.
-
To build in a future time, define a variable prompting for date or time input, and specify pre-queue script as below:
request.setRequestDate(vars.get("name_of_the_date_var").asDate())
-
The method build.getSteps() is removed. If a custom email notification template is used (other than using default_html_notification.vm ), please change error message rendering part of the template as below:
#if ($build.hasErrors())
<h3>Error Messages</h3>
<table class="error-messages">
#if ($build.errorMessage)
<tr>
<td colspan="2" valign="top">$util.formatString($build.errorMessage)</td>
<td valign="top"><a href="$build.logUrl">build log</a></td>
</tr>
#end
#foreach ($stepPathName in $build.stepRuntimes.keySet())
#set($step=$build.stepRuntimes.get($stepPathName))
#if ($step.errorMessage)
<tr>
<td valign="top">$stepPathName</td>
<td valign="top">$util.formatString($step.errorMessage)</td>
<td valign="top"><a href="$build.getLogUrl($stepPathName)">step log</a></td>
</tr>
#end
#end
</table>
#end -
Custom plugins for 2.x need to be re-compiled and re-exported. Below changes may affect your plugin:
- Class com.pmease.quickbuild.web.component.editor is renamed to com.pmease.quickbuild.web.component.editor.BeanEditor.
- Read only mode of BeanEditor is removed, and a separate class com.pmease.quickbuild.web.component.BeanViewer is added for display bean properties.