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

Download the schema XSD

<?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 a WWW-Authenticate header to feed requests without authorization headers. Do not require cookies, and do not redirect to HTML forms.