Chapter 9. REST API

## Chapter 9. REST API

QuickBuild has a REST (REpresentation State Transfer) API implemented in Hessian protocol (a lightweight SOAP protocol). This API is created to help you integrate QuickBuild with other systems (such as issue tracking application), or extend the ability of QuickBuild. The following are some scenarios on using this API:

1. Trigger a build right away when somebody checks code into the version control system. In order to do this, you should write a program calls the TriggerBuild method and associate this program with the checkin triggers of your version control system.

2. In the project dependency use case, build of componentA will be triggered (depends on the build necessary condition, a build may or may not be generated in componentA) before triggering projectA (because projectA uses artifacts of componentA, and thus depends on it), However if componentA is triggered first, projectA will not be triggered automatically. But you can achieve this by writing a program calls the TriggerBuild method in the API and run this program just before end of componentA's build script.

3. Backup QuickBuild database to XML regularly.

4. Create configuration programmatically.

5. Sometimes it is necessary to delete unwanted builds (particularly generated by continuous integration configurations) to save space. QuickBuild have two built-in build clean up strategies: reserve builds by days, and reserve builds by count. However if they do not suffice your particular needs, you can write your own program to periodically delete selected builds from the system.

6. Create users programmatically. This is useful to import large number of users from other systems.

7. Get information on last successful build of a particular configuration, and feed some of them (such as build version number) into other systems such as an issue tracking application.

8. Get information on build of particular version. This is useful if you want to access information for a particular build from other systems such as an issue tracking application.

All information about the API is available in the `api` directory under your QuickBuild installation. Within this directory:

- `docs` sub directory contains the API reference.

- `lib` sub directory contains necessary jars to compile and run your program.

- `samples` sub directory contains some samples demonstrating how to use the API.

Migrate data from Luntbuild 1.2.x |  | Chapter 10. Use cases