Skip to main content
Version: QB70

QB7.0 Release Highlights

Architecture

  • QuickBuild server and agent now require Java 1.7 or higher versions
  • Upgrade to use Jetty9
  • Add upgrade script to upgrade previous installation in-place to be more convenient and avoid issues such as re-installation of services
  • Add MariaDB support
  • Use Java 7 FileStore API to monitor disk usage when sigar is failed

Build System

  • Parallel composition step can be configured with limited number of workers to queue processing of its child steps instead of running them all at once
  • Bullseye coverage integration
  • Custom statistics report aggregation
  • Enhance auto-promote flag as auto-promote condition so that user can customize on which condition to auto-promote a build
  • Put uploaded file of file input variables into folder "qb_build_uploads" under workspace of master node, and preserve the original file name
  • Able to accept and persist new build requests while wait for finish of running builds upon system shutdown
  • Apply build timeout to build condition check stage as well
  • Add step retry setting upon failure
  • Add command pre-kill script in configuration advanced setting
  • Make the Maven build plugin's effective POM resolving configurable per-step
  • Add the possibility to use the master step node in Node Selection option
  • Add a resource node selector to match host name against regular expression
  • Use mvn.cmd instead of mvn.bat if neither Maven home nor Maven executable is specified
  • Map committer to user using full name in addition to login name when send build notifications
  • Place build publish directory in multiple subfolders to avoid too many files in a single directory
  • Mark non-interruptible groovy script step as cancelled upon cancellation in order to signal subsequent steps to take appropriate actions
  • Add a script evaluation in step repetition value provider to return list of values instead of comma/newline separated string
  • Add an option not to post build status as review info on Gerrit repository
  • Ensure destination directory exists when export a single file from Subversion repository

User Interface

  • Add condition script to build and request custom column to display them conditionally based on current configuration
  • Add a gadget to show running builds in specified configuration
  • Heatmap to show number of running builds
  • Able to export/import specified configuration tree
  • Able to prevent inheritance of certain steps, variables, promotions, repositories, aggregations and notifications
  • Able to hide inherited objects (steps, repositories, variables, etc) in child configurations
  • Able to filter steps/repositories/variables/promotions/aggregations containing specified text
  • Add button to clone inherited steps, repositories, and variables into current configuration
  • Navigate between changes in diff view
  • Allow searching by build version/id under build statistics/SCM activities/change history
  • Download link for "SCM Changes" report
  • Use group dashboard as default for new users
  • Able to change build request order in queue via drag&drop
  • Able to recommend/unrecommend bulk of builds in configuration history page or build find result page
  • Able to filter out build requests from audit log
  • Add separate sliders for available steps and workflow for easier workflow organization
  • Filter users not logged in since specified date for deletion
  • Auto-refresh dashboard gadget using latest finished/latest successful/latest recommended build
  • Scripting support for LDAP/ActiveDirectory authenticator properties
  • Define custom message in system setting to show on access denied page
  • Remove duplicated variables automatically upon save
  • Able to save configured page size shown in Administration views
  • Scripting support for build related gadgets
  • Make the available resource count in the grid resource view to show a filtered view of the nodes
  • Make path pattern case sensitive/insensitive by appending existing patterns with ",casesensitive=yes" or ",casesensitive=no"
  • Display build date in pipeline
  • Support multi-line values in build and request custom columns
  • Prevent Java keywords to be used as variable names
  • Show promotion name while specifying promote options
  • Able to execute custom script after user self-registration
  • Show abbreviated schedule with full schedule tooltip in dashboard view if it is too long
  • Prefix dashboard name with owner name to make it more clear

Source Control System

  • Support Perforce ditto mapping
  • Add additional sync options (besides the additional global options) to support Perforce features such as parallel sync
  • Add conflict resolve option in Perforce shelve support
  • An option to fail the build if there is no shelved files in shelved change list

RESTful API

  • Enhance resource RESTful API to get information of total and available resources by nodes
  • Add RESTful API to manipulate dashboard and associated group share and user share
  • Able to specify priority when submit build request via RESTful api

Scripting API

  • Add scripting API build.flushVariables() for user to flush variable values to database in the middle of build

Bug Fixes

  • Fix the issue that build version in dashboard and rest api is not consistent with build overview page if build version is changed in the middle of build

  • Fix the issue that artifact can not be downloaded if its path contains "#"

  • Fix the issue that javadoc does not contain many steps and repositories

  • Fix the issue that node assignment rule specifying build agents requiring nodes to be online
    Important

  • Publish directory of new build will be stored into a sub directory using last three digits of build id to avoid too many files issue. Old builds still remains in old place and can be recognized by QuickBuild. If you need to get path to build publish directory, please call build.getPublishDir() as it handles the change transparently

  • Bean editor annotation @FileInput now populates related field with below format instead of a single file name:

    <original upload file name>/<Base64 encoding of upload file content>

    This only affects users using the annotation @FileInput while writing their QuickBuild plugins