Query Build Notifications

Version 1 by Robin Shen
on Jan 30, 2010 12:30.


 
compared with
Current by Robin Shen
on Jun 09, 2010 13:50.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 16 changes. View first change.

 h1. Syntax
 Build notifications can be queried using http GET method through below url:
 {code}http://localhost:8810/rest/notifications?last_notified_build_id=<last notified build id>{code}
 QuickBuild uses http BASIC authentication information to determine the user who queries the notification, and only returns notifications belonging to that user. The parameter _last_notified_build_id_ is optional. If not specified, the most recent notification will be returned; otherwise, all notifications after specified build will be returned. The response is of mime type _application/xml_ and the content is xml representation of list of builds to be notified. A sample response is like below:
 {code}
 <list>
  <com.pmease.quickbuild.model.Build>
  <id>3</id>
  <requestDate>2010-01-30T20:15:03.446+08:00</requestDate>
  <configuration>3</configuration>
  <version>1.0.1</version>
  <status>SUCCESSFUL</status>
  <statusDate>2010-01-30T20:15:03.547+08:00</statusDate>
  <beginDate>2010-01-30T20:15:03.454+08:00</beginDate>
  <user>1</user>
   <id>16</id>
  <configuration>2</configuration>
  <version>1.0.15</version>
  <requester>1</requester>
  
  <scheduled>false</scheduled>
<duration>93</duration>
   <status>SUCCESSFUL</status>
  <statusDate>2010-06-09T21:46:11.627+08:00</statusDate>
  <beginDate>2010-06-09T21:46:11.131+08:00</beginDate>
  <duration>496</duration>
  <stepRuntimes>
 
  <entry>
  <string>master</string>
  <com.pmease.quickbuild.stepsupport.StepRuntime>
  <status>SUCCESSFUL</status>
  <nodeAddress>matrix:8810</nodeAddress>
<duration>424</duration>
  </com.pmease.quickbuild.stepsupport.StepRuntime>
 
  </entry>
<entry>
  <string>master&gt;checkout</string>
  <com.pmease.quickbuild.stepsupport.StepRuntime>
  <status>SUCCESSFUL</status>
  <nodeAddress>matrix:8810</nodeAddress>
  <duration>380</duration>
  
  </com.pmease.quickbuild.stepsupport.StepRuntime>
  </entry>
  </stepRuntimes>
<repositoryRuntimes/>
  <variables/>
   <repositoryRuntimes>
  <entry>
  <string>svn</string>
  <com.pmease.quickbuild.repositorysupport.RepositoryRuntime>
  <revisionDOM>
  
  <com.pmease.quickbuild.plugin.scm.svn.SvnRevision revision="0.0">
  <value>101</value>
  </com.pmease.quickbuild.plugin.scm.svn.SvnRevision>
  </revisionDOM>
  <checkout>true</checkout>
  </com.pmease.quickbuild.repositorysupport.RepositoryRuntime>
  </entry>
  </repositoryRuntimes>
  
  <variableValues/>
  </com.pmease.quickbuild.model.Build>
  <com.pmease.quickbuild.model.Build>
<id>4</id>
  <requestDate>2010-01-30T20:15:07.319+08:00</requestDate>
   <id>17</id>
  <configuration>2</configuration>
<version>1.0.1</version>
  <status>SUCCESSFUL</status>
  <statusDate>2010-01-30T20:15:07.364+08:00</statusDate>
  <beginDate>2010-01-30T20:15:07.325+08:00</beginDate>
  <user>1</user>
   <version>1.0.16</version>
  <requester>1</requester>
  
  <scheduled>false</scheduled>
<duration>40</duration>
   <status>SUCCESSFUL</status>
  <statusDate>2010-06-09T21:46:13.448+08:00</statusDate>
  <beginDate>2010-06-09T21:46:12.854+08:00</beginDate>
  <duration>594</duration>
  <stepRuntimes>
 
  <entry>
  <string>master</string>
  <com.pmease.quickbuild.stepsupport.StepRuntime>
  <status>SUCCESSFUL</status>
  <nodeAddress>matrix:8810</nodeAddress>
<duration>535</duration>
  </com.pmease.quickbuild.stepsupport.StepRuntime>
 
  </entry>
<entry>
  <string>master&gt;checkout</string>
  <com.pmease.quickbuild.stepsupport.StepRuntime>
  <status>SUCCESSFUL</status>
  <nodeAddress>matrix:8810</nodeAddress>
  <duration>492</duration>
  
  </com.pmease.quickbuild.stepsupport.StepRuntime>
  </entry>
  </stepRuntimes>
<repositoryRuntimes/>
  <variables/>
   <repositoryRuntimes>
  <entry>
  <string>svn</string>
  <com.pmease.quickbuild.repositorysupport.RepositoryRuntime>
  <revisionDOM>
  
  <com.pmease.quickbuild.plugin.scm.svn.SvnRevision revision="0.0">
  <value>101</value>
  </com.pmease.quickbuild.plugin.scm.svn.SvnRevision>
  </revisionDOM>
  <checkout>true</checkout>
  </com.pmease.quickbuild.repositorysupport.RepositoryRuntime>
  </entry>
  </repositoryRuntimes>
  
  <variableValues/>
  </com.pmease.quickbuild.model.Build>
 </list>
 {code}
  
  
 h1. Security
 You will need to use http BASIC authentication to login as authorized QuickBuild user to use this API. QuickBuild only returns notifications belonging to that user.
  
 h1. Demo
 Below [curl|http://curl.haxx.se/] command demonstrates how to get notifications for user _admin_ after build with id _100_:
 {code}curl -u admin:admin http://localhost:8810/rest/notifications?last_notified_build_id=100{code}