CCTray v1
Description
Summary information will be available as a plain XML string retrievable through an HTTP GET request.
A single <Projects>
node, the document root, which contains 0 or many <Project>
nodes.
Each <Project>
may have the following attributes:
Name | Description | Type | Required |
---|---|---|---|
name | the name of the project | string | yes |
activity | the current state of the project | string enum : Sleeping, Building, CheckingModifications | yes |
lastBuildStatus | a brief description of the last build | string enum : Success, Failure, Exception, Unknown | yes |
lastBuildLabel | a referential name for the last build | string | no |
lastBuildTime | when the last build occurred | DateTime | yes |
nextBuildTime | when the next build is scheduled to occur (or when the next check to see whether a build should be performed is scheduled to occur) | DateTime | no |
webUrl | a URL for where more detail can be found about this project | string (URL) | yes |
Clients that consume this XML should not rely on any optional attribute being present and should degrade their functionality gracefully.
Example
<Projects>
<Project
name="SvnTest"
activity="Sleeping"
lastBuildStatus="Exception"
lastBuildLabel="8"
lastBuildTime="2005-09-28T10:30:34.6362160+01:00"
nextBuildTime="2005-10-04T14:31:52.4509248+01:00"
webUrl="http://mrtickle/ccnet/"/>
<Project
name="HelloWorld"
activity="Sleeping"
lastBuildStatus="Success"
lastBuildLabel="13"
lastBuildTime="2005-09-15T17:33:07.6447696+01:00"
nextBuildTime="2005-10-04T14:31:51.7799600+01:00"
webUrl="http://mrtickle/ccnet/"/>
</Projects>
Schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Projects">
<xs:complexType>
<xs:sequence>
<xs:element name="Project" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="xs:NMTOKEN" use="required" />
<xs:attribute name="activity" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Sleeping" />
<xs:enumeration value="Building" />
<xs:enumeration value="CheckingModifications" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="lastBuildStatus" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Exception" />
<xs:enumeration value="Success" />
<xs:enumeration value="Failure" />
<xs:enumeration value="Unknown" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="lastBuildLabel" type="xs:NMTOKEN" use="required" />
<xs:attribute name="lastBuildTime" type="xs:dateTime" use="required" />
<xs:attribute name="nextBuildTime" type="xs:dateTime" use="optional" />
<xs:attribute name="webUrl" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Notes
The specification leaves some open questions. If in doubt, please:
- Provide times with a timezone, ideally in ISO8601 format with Zulu/GMT time marker.
- Use
unknown
status for all status values not mentioned in the standard. - If you support authentication, please respond with
401 Not Authorized
and aWWW-Authenticate
header to feed requests without authorization headers. Do not require cookies, and do not redirect to HTML forms.