Viewtier Parabuild 4.0

Web Service API Manual


Table of Contents

Preface
1. About This Manual
2. Audience
3. Technical Support
1. Accessing Web Service API
1.1. Web Service WSDL
1.2. Web Service URL
1.3. Authentication and Authorisation
2. Web Service API
2.1. Querying System Information
2.1.1. Obtaining Server Version
2.1.2. Querying System Properties
2.1.3. Listing Global Version Control User to Email Map
2.1.4. Listing Projects
2.1.5. Obtaining Project Attributes
2.1.6. Obtaining Project Build Configurations
2.1.7. Listing Display Groups
2.1.8. Obtaining Build Configurations Belonging to Display Group
2.2. Querying Build Farms and Agents
2.2.1. Listing Build Farm Configurations
2.2.2. Obtaining Build Farm Attributes
2.2.3. Obtaining Build Farm Agents
2.2.4. Listing Agent Configurations
2.2.5. Obtaining Agent Configuration
2.3. Querying Build Configuration
2.3.1. Listing Active Build Configurations
2.3.2. Obtaining Build Configuration Attributes
2.3.3. Obtaining Version Control Settings
2.3.4. Obtaining Schedule Properties
2.3.5. Obtaining Label Properties
2.3.6. Obtaining Log Configurations
2.3.7. Obtaining Log Configuration Properties
2.3.8. Obtaining Version Control User to Email Map
2.3.9. Obtaining Build Watchers
2.3.10. Obtaining Build Steps
2.3.11. Obtaining Schedule Items
2.3.12. Obtaining Issue Trackers
2.3.13. Obtaining Issue Tracker Properties
2.3.14. Obtaining Start Parameters
2.4. Accessing Build Results
2.4.1. Obtaining Number of Build Runs
2.4.2. Obtaining Build Run
2.4.3. Querying Completed Build Runs
2.4.4. Obtaining Last Successful Build Run
2.4.5. Finding Last Successful Build Runs by Display Group ID and Change List Number
2.4.6. Obtaining Build Run Attributes
2.4.7. Obtaining Change Lists in Given Build Run
2.4.8. Obtaining Change List Changes
2.4.9. Obtaining Build Step Runs
2.4.10. Obtaining Step Run Attributes
2.4.11. Obtaining Build Step Logs
2.4.12. Obtaining Build Step Results
2.4.13. Obtaining Change List
2.4.14. Obtaining Release Notes
2.4.15. Obtaining Issue
2.4.16. Obtaining Issue Attributes
2.4.17. Obtaining Issue Change Lists
2.4.18. Querying Result Groups
2.4.19. Querying Project Result Groups
2.4.20. Obtaining Result Configurations
2.4.21. Obtaining Result Configuration Properties
2.4.22. Obtaining Published Build Step Results
2.4.23. Obtaining Build Run Actions
2.4.24. Querying Test Suite Names
2.4.25. Obtaining Test Case names
2.4.26. Obtaining Build Run Tests
2.5. Querying Build Statistics
2.5.1. Querying Hourly Build Statistics
2.5.2. Querying Daily Build Statistics
2.5.3. Querying Monthly Build Statistics
2.5.4. Querying Yearly Build Statistics
2.5.5. Querying Hourly Build Distribution
2.5.6. Querying Weekday Build Distribution
2.5.7. Querying Hourly Test Statistics
2.5.8. Querying Daily Test Statistics
2.5.9. Querying Monthly Test Statistics
2.6. Managing Builds
2.6.1. Starting Build
2.6.2. Stopping Build
2.6.3. Resuming Build
2.6.4. Requesting Clean Checkout
2.6.5. Listing Current Build Statuses
2.6.6. Finding a Current Build Status by a Build ID
2.6.7. Finding a Current Build Status by a Build Name
2.6.8. Finding Current Build Statuses by Regular Expression
2.6.9. Modifying Version Control Settings
2.6.10. Modifying Build Sequence
2.6.11. Modifying Schedule Settings

List of Tables

2.1.
2.2.

Preface

1. About This Manual

This manual provides a description for Parabuild web service API.

2. Audience

This guide is intended for software engineers.

3. Technical Support

If you have any problems with the software or documentation, please contact Viewtier Technical Support via online support forums, electronic mail, fax, or as described below. For information regarding other support information, click the Support link on the Viewtier web site atwww.viewtier.com.

Chapter 1. Accessing Web Service API

1.1. Web Service WSDL

Parabuild web service WSDL can be found at:

<Parabuild installation directory>/bin/wsdl/Parabuild.wsdl.

1.2. Web Service URL

Parabuild web service is available at:

http://<parabuild host>:8080/parabuild/integration/webservice/Parabuild

1.3. Authentication and Authorisation

Parabuild web service uses basic HTTP authentication. Parabuild users with administrative rights are allowed to access the web service.

Chapter 2. Web Service API

Table of Contents

2.1. Querying System Information
2.1.1. Obtaining Server Version
2.1.2. Querying System Properties
2.1.3. Listing Global Version Control User to Email Map
2.1.4. Listing Projects
2.1.5. Obtaining Project Attributes
2.1.6. Obtaining Project Build Configurations
2.1.7. Listing Display Groups
2.1.8. Obtaining Build Configurations Belonging to Display Group
2.2. Querying Build Farms and Agents
2.2.1. Listing Build Farm Configurations
2.2.2. Obtaining Build Farm Attributes
2.2.3. Obtaining Build Farm Agents
2.2.4. Listing Agent Configurations
2.2.5. Obtaining Agent Configuration
2.3. Querying Build Configuration
2.3.1. Listing Active Build Configurations
2.3.2. Obtaining Build Configuration Attributes
2.3.3. Obtaining Version Control Settings
2.3.4. Obtaining Schedule Properties
2.3.5. Obtaining Label Properties
2.3.6. Obtaining Log Configurations
2.3.7. Obtaining Log Configuration Properties
2.3.8. Obtaining Version Control User to Email Map
2.3.9. Obtaining Build Watchers
2.3.10. Obtaining Build Steps
2.3.11. Obtaining Schedule Items
2.3.12. Obtaining Issue Trackers
2.3.13. Obtaining Issue Tracker Properties
2.3.14. Obtaining Start Parameters
2.4. Accessing Build Results
2.4.1. Obtaining Number of Build Runs
2.4.2. Obtaining Build Run
2.4.3. Querying Completed Build Runs
2.4.4. Obtaining Last Successful Build Run
2.4.5. Finding Last Successful Build Runs by Display Group ID and Change List Number
2.4.6. Obtaining Build Run Attributes
2.4.7. Obtaining Change Lists in Given Build Run
2.4.8. Obtaining Change List Changes
2.4.9. Obtaining Build Step Runs
2.4.10. Obtaining Step Run Attributes
2.4.11. Obtaining Build Step Logs
2.4.12. Obtaining Build Step Results
2.4.13. Obtaining Change List
2.4.14. Obtaining Release Notes
2.4.15. Obtaining Issue
2.4.16. Obtaining Issue Attributes
2.4.17. Obtaining Issue Change Lists
2.4.18. Querying Result Groups
2.4.19. Querying Project Result Groups
2.4.20. Obtaining Result Configurations
2.4.21. Obtaining Result Configuration Properties
2.4.22. Obtaining Published Build Step Results
2.4.23. Obtaining Build Run Actions
2.4.24. Querying Test Suite Names
2.4.25. Obtaining Test Case names
2.4.26. Obtaining Build Run Tests
2.5. Querying Build Statistics
2.5.1. Querying Hourly Build Statistics
2.5.2. Querying Daily Build Statistics
2.5.3. Querying Monthly Build Statistics
2.5.4. Querying Yearly Build Statistics
2.5.5. Querying Hourly Build Distribution
2.5.6. Querying Weekday Build Distribution
2.5.7. Querying Hourly Test Statistics
2.5.8. Querying Daily Test Statistics
2.5.9. Querying Monthly Test Statistics
2.6. Managing Builds
2.6.1. Starting Build
2.6.2. Stopping Build
2.6.3. Resuming Build
2.6.4. Requesting Clean Checkout
2.6.5. Listing Current Build Statuses
2.6.6. Finding a Current Build Status by a Build ID
2.6.7. Finding a Current Build Status by a Build Name
2.6.8. Finding Current Build Statuses by Regular Expression
2.6.9. Modifying Version Control Settings
2.6.10. Modifying Build Sequence
2.6.11. Modifying Schedule Settings

2.1. Querying System Information

2.1.1. Obtaining Server Version

/**
          * Returns server version.
          *
          * @return a string containing server version.
          */
          String serverVersion();
        

2.1.2. Querying System Properties

/**
          * Returns a list of global system properties.
          *
          * @return a list of global system properties.
          */
          SystemProperty[] getSystemProperties();
        

2.1.3. Listing Global Version Control User to Email Map

/**
          * Returns a global version control user to email map.
          *
          * @return a global version control user to email map.
          */
          GlobalVCSUserMap[] getGlobalVcsUserMap();
        

2.1.4. Listing Projects

/**
          * Returns a list of projects.
          *
          * @return a list of projects.
          */
          Project[] getProjects();
        

2.1.5. Obtaining Project Attributes

/**
          * Returns a list of project attributes.
          *
          * @param projectID project ID
          *
          * @return a list of project attributes.
          */
          ProjectAttribute[] getProjectAttributes(int projectID);
        

2.1.6. Obtaining Project Build Configurations

/**
          * Returns a list of build configurations belonging to a project.
          *
          * @param projectID project ID
          *
          * @return a list of build configurations belonging to a project.
          */
          ProjectBuild[] getProjectBuilds(int projectID);
        

2.1.7. Listing Display Groups

/**
          * Returns a list of display groups.
          *
          * @return a list of display groups.
          */
          DisplayGroup[] getDisplayGroups();
        

2.1.8. Obtaining Build Configurations Belonging to Display Group

/**
          * Returns a list of build configurations are that part of a display group.
          *
          * @param displayGroupID display group ID
          *
          * @return a list of build configurations are that part of a display group.
          */
          DisplayGroupBuild[] getDisplayGroupBuilds(int displayGroupID);
        

2.2. Querying Build Farms and Agents

This section enumerates methods available for accessing information about build farms and build agents.

2.2.1. Listing Build Farm Configurations

/**
          * Returns a list of build farm configurations.
          *
          * @return a list of build farm configurations.
          */
          BuildFarmConfiguration[] getBuildFarmConfigurations();
        

2.2.2. Obtaining Build Farm Attributes

/**
          * Returns a list of attributes of a build farm.
          *
          * This method is added for future compatibility. The current implementation returns an empty array.
          *
          * @param buildFarmID build farm ID
          * @return a list of attributes of a build farm.
          */
          BuildFarmConfigurationAttribute[] getBuildFarmConfigurationAttributes(int buildFarmID);
        

2.2.3. Obtaining Build Farm Agents

/**
          * Returns a list of agents belonging to a build farm.
          *
          * @param buildFarmID build farm ID
          * @return a list of build agents belonging to a build farm.
          */
          BuildFarmAgent[] getBuildFarmAgents(int buildFarmID);
        

2.2.4. Listing Agent Configurations

/**
          * Returns a list agent configurations.
          *
          * @return a list agent configurations.
          */
          AgentConfiguration[] getAgentConfigurations();
        

2.2.5. Obtaining Agent Configuration

/**
          * Returns agent configuration.
          *
          * @param agentID agent configuration ID
          *
          * @return Returns agent configuration..
          *
          * @see #getBuildFarmAgents(int)
          */
          AgentConfiguration getAgentConfiguration(int agentID);
        

2.3. Querying Build Configuration

This section enumerates method for querying information related to build configuration.

2.3.1. Listing Active Build Configurations

/**
          * Returns a list of active build configurations.
          *
          * @return a list of active build configurations.
          */
          BuildConfiguration[] getActiveBuildConfigurations();
        

2.3.2. Obtaining Build Configuration Attributes

/**
          * Returns a list of attributes for a build configuration.
          *
          * @param buildID build ID.
          * @return a list of attributes for a build configuration.
          */
          BuildConfigurationAttribute[] getBuildConfigurationAttributes(int buildID);
        

2.3.3. Obtaining Version Control Settings

/**
          * Returns a list of version control settings.
          *
          * @param buildID build ID
          * @return a list of version control settings.
          */
          VersionControlSetting[] getVersionControlSettings(int buildID);
        

2.3.4. Obtaining Schedule Properties

/**
          * Returns a list of schedule properties.
          *
          * @param buildID build ID
          * @return a list of schedule properties.
          */
          ScheduleProperty[] getScheduleProperties(int buildID);
        

2.3.5. Obtaining Label Properties

/**
          * Returns a list of label properties.
          *
          * @param buildID build ID
          * @return a list of label properties.
          */
          LabelProperty[] getLabelProperties(int buildID);
        

2.3.6. Obtaining Log Configurations

/**
          * Returns a list of log configurations.
          *
          * @param buildID build ID
          * @return a list of log configurations.
          */
          LogConfiguration[] getLogConfigurations(int buildID);
        

2.3.7. Obtaining Log Configuration Properties

/**
          * Returns a list of log configuration properties.
          *
          * @param logID log ID
          * @return a list of log configuration properties.
          */
          LogConfigurationProperty[] getLogConfigurationProperties(int logID);
        

2.3.8. Obtaining Version Control User to Email Map

/**
          * Returns a list of version control user to email maps.
          *
          * @param buildID build ID
          * @return a list of version control use to email maps.
          */
          VCSUserToEmailMap[] getVCSUserToEmailMap(int buildID);
        

2.3.9. Obtaining Build Watchers

/**
          * Returns a list of build watchers.
          *
          * @param buildID a list of build watchers.
          * @return a list of build watchers.
          */
          BuildWatcher[] getBuildWatchers(int buildID);
        

2.3.10. Obtaining Build Steps

/**
          * Returns a list of build steps.
          *
          * @param buildID build ID
          * @return a list of build steps.
          */
          BuildSequence[] getBuildSequence(int buildID);
        

2.3.11. Obtaining Schedule Items

/**
          * Returns a list of schedule items
          *
          * @param buildID build ID
          * @return Returns a list of schedule items
          */
          ScheduleItem[] getScheduleItem(int buildID);
        

2.3.12. Obtaining Issue Trackers

/**
          * Returns a list of issues trackers.
          *
          * @param buildID build ID
          *
          * @return a list of issues trackers.
          */
          IssueTracker[] getIssueTracker(int buildID);
        

2.3.13. Obtaining Issue Tracker Properties

/**
          * Returns a list of issue tracker properties.
          *
          * @param issueTrackerID issue tracker ID
          *
          * @return a list of issue tracker properties.
          */
          IssueTrackerProperty[] getIssueTrackerProperties(int issueTrackerID);
        

2.3.14. Obtaining Start Parameters

/**
          * Returns a list of start parameters.
          *
          * @param type parameter type.
          *
          * @param ownerID owner ID
          *
          * @return a list of start parameters.
          */
          StartParameter[] getVariables(int type, int ownerID);
        

2.4. Accessing Build Results

This section enumerates methods for accessing build results.

2.4.1. Obtaining Number of Build Runs

/**
          * Returns number of build runs for the given build configuration.
          *
          * @param activeBuildID build ID
          * @return number of build runs for the given build configuration.
          */
          int getBuildRunCount(int activeBuildID);
        

2.4.2. Obtaining Build Run

/**
          * Returns build run for the given build run ID.
          *
          * @param buildRunID build run ID
          * @return build run.
          */
          BuildRun getBuildRun(int buildRunID);
        

2.4.3. Querying Completed Build Runs

/**
          * Returns a list of completed build runs.
          *
          * @param activeBuildID build ID
          * @param firstResult number from that to start listing build runs.
          * @param maxCount number of build runs to retrieve.
          * @return a list of completed build runs.
          */
          BuildRun[] getCompletedBuildRuns(final int activeBuildID, final int firstResult, final int
          maxCount);
        

2.4.4. Obtaining Last Successful Build Run

/**
          * Returns the last successful build run.
          *
          * @param activeBuildID build ID
          * @return the last successful build run or null if there is no any.
          */
          BuildRun getLastSuccessfulBuildRun(int activeBuildID);
        

2.4.5. Finding Last Successful Build Runs by Display Group ID and Change List Number

  /**
   * Returns an array of last successful BuildRuns that match given display group ID and change list number.
   *
   * @param displayGroupID   display group ID
   * @param changeListNumber change list number
   * @return array of last successful BuildRuns that matche given display group ID and change list number or an empty array if no matching builds exist.
   */
  public BuildRun[] findlLastSuccessfulBuildRuns(final int displayGroupID, final int changeListNumber);
        

2.4.6. Obtaining Build Run Attributes

         /**
          * Returns a list of build run attributes.
          *
          * @param buildRunID build run ID
          * @return list of build run attributes.
          */
          BuildRunAttribute[] getBuildRunAttributes(int buildRunID);
        

2.4.7. Obtaining Change Lists in Given Build Run

/**
          * Returns change lists that participated in the given build run.
          *
          * @param buildRunID build run ID.
          * @return change lists that participated in the given build run.
          */
          ChangeList[] getBuildRunParticipants(int buildRunID);
        

2.4.8. Obtaining Change List Changes

/**
          * Returns a list of changes in the given change list.
          *
          * @param changeListID change list ID
          * @return a list of changes in the given change list.
          * @see #getBuildRunParticipants(int)
          * @see #getChangeList(int)
          */
          Change[] getChanges(int changeListID);
        

2.4.9. Obtaining Build Step Runs

/**
          * Returns a list of build step runs.
          *
          * @param buildRunID build run ID
          * @return a list of step runs.
          */
          StepRun[] getStepRuns(int buildRunID);
        

2.4.10. Obtaining Step Run Attributes

/**
          * Returns a list of build step run attributes.
          *
          * @param stepRunID step run ID
          * @return a list of step run attributes.
          * @see #getStepRuns(int)
          */
          StepRunAttribute[] getStepRunRunAttributes(int stepRunID);
        

2.4.11. Obtaining Build Step Logs

/**
          * Returns a list of build step logs.
          *
          * @param stepRunID step run ID
          * @return a list of build step logs.
          */
          StepLog[] getStepLogs(int stepRunID);
        

2.4.12. Obtaining Build Step Results

/**
          * Returns a list of build step results.
          *
          * @param stepRunID step run ID
          * @return a list of build step results.
          */
          StepResult[] getStepResults(int stepRunID);
        

2.4.13. Obtaining Change List

/**
          * Returns a change list.
          *
          * @param changeListID change list ID
          * @return a change list.
          */
          ChangeList getChangeList(int changeListID);
        

2.4.14. Obtaining Release Notes

/**
          * Returns a list of release notes.
          *
          * @param buildRunID build run ID
          * @return a list of release notes.
          */
          ReleaseNote[] getReleaseNotes(int buildRunID);
        

2.4.15. Obtaining Issue

/**
          * Returns an issue.
          *
          * @param issueID an issue ID.
          * @return an issue.
          */
          Issue getIssue(int issueID);
        

2.4.16. Obtaining Issue Attributes

/**
          * Returns a list of issue attributes.
          *
          * @param issueID issue ID.
          *
          * @return a list of issue attributes.
          */
          IssueAttribute[] getIssueAttributes(int issueID);
        

2.4.17. Obtaining Issue Change Lists

/**
          * Returns a list of issue change lists.
          *
          * @param issueID issue ID.
          *
          * @return a list of issue change lists.
          */
          IssueChangeList[] getIssueChangeLists(int issueID);
        

2.4.18. Querying Result Groups

/**
          * Returns a list of result groups.
          *
          * @return list of result groups.
          */
          ResultGroup[] getResultGroups();
        

2.4.19. Querying Project Result Groups

/**
          * Returns a list of project result groups.
          *
          * @param projectID project ID
          * @return a list of project result groups.
          */
          ProjectResultGroup[] getProjectResultGroups(int projectID);
        

2.4.20. Obtaining Result Configurations

/**
          * Returns a list of result configurations.
          *
          * @param buildID build ID
          * @return a list of result configurations.
          */
          ResultConfiguration[] getResultConfigurations(int buildID);
        

2.4.21. Obtaining Result Configuration Properties

/**
          * Returns a list of result configuration properties.
          *
          * @param resultConfigID result configuration ID
          *
          * @return a list of result configuration properties.
          */
          ResultConfigurationProperty[] getResultConfigurationProperties(int resultConfigID);
        

2.4.22. Obtaining Published Build Step Results

/**
          * Returns a list published build step results.
          *
          * @param resultGroupID result group ID
          *
          * @return a list published build step results.
          */
          PublishedStepResult[] getPublishedStepResults(int resultGroupID);
        

2.4.23. Obtaining Build Run Actions

/**
          * Returns a list of build runs actions.
          *
          * @param buildRunID
          *
          * @return a list of build runs actions.
          */
          BuildRunAction[] getBuildRunActions(int buildRunID);
        

2.4.24. Querying Test Suite Names

/**
          * Returns a list of test suite names.
          *
          * @return a list of test suite names.
          */
          TestSuiteName[] getTestSuiteNames();
        

2.4.25. Obtaining Test Case names

/**
          * Returns a list of test case names.
          *
          * @param testSuiteNameID test suite name ID
          * @return a list of test case names.
          */
          TestCaseName[] getTestCaseNames(int testSuiteNameID);
        

2.4.26. Obtaining Build Run Tests

/**
          * Returns a list of build run tests.
          *
          * @param buildRunID build run ID
          *
          * @return a list of build run tests.
          */
          BuildRunTest[] getBuildRunTests(int buildRunID);
        

2.5. Querying Build Statistics

2.5.1. Querying Hourly Build Statistics

/**
          * Returns hourly build statistics.
          *
          * @param activeBuildID active build ID
          * @param fromDate from date
          * @param toDate to date
          * @return hourly build statistics.
          */
          BuildStatistics[] getHourlyStatistics(int activeBuildID, Calendar fromDate, Calendar toDate);
        

2.5.2. Querying Daily Build Statistics

/**
          * Returns daily build statistics.
          *
          * @param activeBuildID active build ID
          * @param fromDate from date
          * @param toDate to date
          * @return daily build statistics.
          */
          BuildStatistics[] getDailyStatistics(int activeBuildID, Calendar fromDate, Calendar toDate);
        

2.5.3. Querying Monthly Build Statistics

/**
          * Returns monthly build statistics.
          *
          * @param activeBuildID active build ID
          * @param fromDate from date
          * @param toDate to date
          * @return monthly build statistics.
          */
          BuildStatistics[] getMonthlyStatistics(int activeBuildID, Calendar fromDate, Calendar toDate);
        

2.5.4. Querying Yearly Build Statistics

/**
          * Returns yearly build statistics.
          *
          * @param activeBuildID active build ID
          * @param fromDate from date
          * @param toDate to date
          * @return yearly build statistics.
          */
          BuildStatistics[] getYearlyStatistics(int activeBuildID, Calendar fromDate, Calendar toDate);
        

2.5.5. Querying Hourly Build Distribution

/**
          * Return hourly build distribution.
          *
          * @param activeBuildID
          *
          * @return hourly build distribution.
          */
          BuildDistribution[] getHourlyBuildDistributions(int activeBuildID);
        

2.5.6. Querying Weekday Build Distribution

/**
          * Return weekday build distribution.
          *
          * @param activeBuildID
          *
          * @return weekday build distribution.
          */
          BuildDistribution[] getWeekdayBuildDistributions(int activeBuildID);
        

2.5.7. Querying Hourly Test Statistics

/**
          * Returns hourly test statistics.
          *
          * @param activeBuildID active build ID
          * @param fromDate from date
          * @param toDate to date
          * @param testToolCode test tool code.
          *
          * @return hourly test statistics.
          */
          TestStatistics[] getHourlyTestStatistics(int activeBuildID, final Calendar fromDate, final Calendar
          toDate, byte testToolCode);
        

2.5.8. Querying Daily Test Statistics

/**
          * Returns daily test statistics.
          *
          * @param activeBuildID active build ID
          * @param fromDate from date
          * @param toDate to date
          * @param testToolCode test tool code.
          *
          * @return daily test statistics.
          */
          TestStatistics[] getDailyTestStatistics(int activeBuildID, final Calendar fromDate, final Calendar
          toDate, byte testToolCode);
        

2.5.9. Querying Monthly Test Statistics

/**
          * Returns monthly test statistics.
          *
          * @param activeBuildID active build ID
          * @param fromDate from date
          * @param toDate to date
          * @param testToolCode test tool code.
          *
          * @return monthly test statistics.
          */
          TestStatistics[] getMonthlyTestStatistics(int activeBuildID, final Calendar fromDate, final Calendar
          toDate, byte testToolCode);
        

2.6. Managing Builds

2.6.1. Starting Build

         /**
          * Starts a build.
          *
          * @param activeBuildID ID of the build to start.
          */
          void startBuild(int activeBuildID);
        
         /**
          * Starts the build.
          *
          * @param activeBuildID     ID of the build to start.
          * @param buildStartRequest an object containing a detailed build start request.
          */
         void startBuild(int activeBuildID, BuildStartRequest buildStartRequest) throws IOException;

2.6.1.1. BuildStartRequest

BuildStartRequest has the following format:

Table 2.1. 

Field NameDescription
requestTypeAn integer request type. 0 means that this is a normal request. A normal requests starts build with the most recent change list number. 1 means that this is a build re-run. For build re-run buildRunID must be set.
cleanCheckoutA boolean clean checkout flag. If set to true, Parabuild will clean up a build workspace before starting the build.
pinResultA boolean pin result flag. If set to true, build results will be pinned.
buildRunIDA build run ID to re-run. If this is not a re-rerun request, buildRunID must be set to -1.
changeListIDAn integer change list number. The change list number can be used to start a manual build against a particular change list number. The change list number is supported for Perforce and Subversion.
userIDAn integer ID of a user that starts the build. If not known, the user ID must be set to -1.
versionCounterA string version counter. If not known, must be set to an empty string.
labelA string label that Parabuild has to apply to the version control system if build is successful. The label must be set to an empty string if no label should be applied.
noteA note that Parabuild has to add to the build. The note must be set to an empty string if no note should be added.
versionTemplateA string version template Parabuild has to use to generate product version. The version template must be set to an empty string if no product version must be generated.
parameterListA list of build start parameters. Please see the description BuildStartRequestParameter object for information.

2.6.1.2. BuildStartRequestParameter

BuildStartRequestParameter has the following format:

Table 2.2. 

Field NameDescription
variableNameA string name of a shell variable to be set before executing build commands
variableValuesA string, comma-separated, list of one or more values of the variable
descriptionA string variable description

2.6.2. Stopping Build

/**
          * Stops a build.
          *
          * @param activeBuildID ID of the build to stop.
          */
          void stopBuild(int activeBuildID);
        

2.6.3. Resuming Build

/**
          * Resumes a previously stopped build.
          *
          * @param activeBuildID ID of the build to resume.
          */
          void resumeBuild(int buildID);
        

2.6.4. Requesting Clean Checkout

/**
          * Requests clean checkout. Parabuild will erase build's work space before running the next
          build.
          *
          * @param activeBuildID ID of the build for that to perform a clean checkout.
          */
          void requestCleanCheckout(int activeBuildID);
        

2.6.5. Listing Current Build Statuses

/**
          * Returns a list of current build statuses.
          *
          * @return a list of current build statuses.
          */
          BuildStatus[] getCurrentBuildStatuses();
        

2.6.6. Finding a Current Build Status by a Build ID

  /**
   * Returns a current status for a build with the given ID.
   *
   * @param activeBuildID build ID
   * @return a current status for a build with the given ID or null if there is no such build.
   */
  public BuildStatus getCurrentBuildStatus(final int activeBuildID);
        

2.6.7. Finding a Current Build Status by a Build Name

  /**
   * Returns a current status for a build with the given name.
   *
   * @param buildName case-sensitive build
   * @return a current status for a build with the given name or null if there is no such build
   */
  public BuildStatus getCurrentBuildStatus(final String buildName);
        

2.6.8. Finding Current Build Statuses by Regular Expression

  /**
   * Returns a list of current statuses for builds whose names match the give regex.
   *
   * @param regularExpression regular expression to match build names
   * @return a list of current statuses for builds whose names match the give regex
   */
  BuildStatus[] findCurrentBuildStatuses(final String regularExpression);

2.6.9. Modifying Version Control Settings

/**
          * Updates or creates version control settings.
          *
          * @param versionControlSettings version control settings to update or create.
          */
          public void updateVersionControlSettings(final VersionControlSetting[] versionControlSettings)
        

2.6.10. Modifying Build Sequence

/**
          * Updates or creates build sequence.
          *
          * @param buildSequences build sequence to update or create.
          */
          public void updateBuildSequences(final BuildSequence[] buildSequences)
        

2.6.11. Modifying Schedule Settings

/**
          * Updates or creates schedule properties.
          *
          * @param scheduleProperties schedule properties to update or create.
          */
          public void updateScheduleProperties(final ScheduleProperty[] scheduleProperties)