An IssueDetails response can consist of the following elements:

  • Fields

  • Comments

  • Attachments

  • RelatedIssues

  • RelatedItems

  • Subscribers

  • Histories

An IssueDetails response may or may not contain certain elements based on the request. For example unless specifically requested the change details associated with a history record are not returned.

Sample

The following IssueDetails response was in reply to a GET request.

CopyXML
<?xml version="1.0" encoding="utf-8"?>
<IssueDetails>
  <Fields>
    <IssueId>4</IssueId>
    <ProjectId>1</ProjectId>
    <AssignedToUser>jqasr</AssignedToUser>
    <ResolutionCode>New</ResolutionCode>
    <StatusCode>Open</StatusCode>
    <DateOpened>2008-11-30T00:00:00Z</DateOpened>
    <DateClosed />
    <LastUpdated>AAAAAAAFLL8=</LastUpdated>
    <CreatedByUserId>jqa</CreatedByUserId>
    <DateTimeOpened>2008-11-30T14:37:07Z</DateTimeOpened>
    <DateTimeClosed />
    <DateLastUpdated>2008-11-30T00:00:00Z</DateLastUpdated>
    <DateTimeLastUpdated>2008-11-30T14:37:07Z</DateTimeLastUpdated>
    <Valid>true</Valid>
    <Fixed>false</Fixed>
    <IssueNumber>P1-2</IssueNumber>
    <PriorityCode>Next Phase</PriorityCode>
    <SeverityCode>High</SeverityCode>
    <Summary>Field name is misspelled</Summary>
    <Steps>The field "ProjcetedRevenue" is misspelled.</Steps>
    <ErrorTypeCode>Spelling</ErrorTypeCode>
    <Intermittent>false</Intermittent>
    <ConfigurationCode>IE7</ConfigurationCode>
    <UseCaseCode />
    <DetectedInBuildCode>1.1</DetectedInBuildCode>
    <ResolvedInBuildCode />
    <VerifiedInBuildCode />
    <ModuleCode>Screen 2</ModuleCode>
    <SystemArea>Back End</SystemArea>
    <UnusedPerProjectCode>up1</UnusedPerProjectCode>
    <UnusedArea />
    <UnusedSubArea />
    <SubsystemArea>XML Mapping</SubsystemArea>
  </Fields>
  <Histories>
    <History>
      <HistoryId>2</HistoryId>
      <HistoryCreatedByUserId>jqa</HistoryCreatedByUserId>
      <HistoryCreatedOn>2008-11-30T14:37:07.193Z</HistoryCreatedOn>
      <HistoryNewResolutionCode>New</HistoryNewResolutionCode>
      <HistoryNewStatusCode>Open</HistoryNewStatusCode>
      <HistoryNewAssignedToUserId>jqasr</HistoryNewAssignedToUserId>
      <HistoryOldResolutionCode />
      <HistoryOldStatusCode />
      <HistoryOldAssignedToUserId />
    </History>
  </Histories>
</IssueDetails>

Notes about Fields

Datetime fields are always returned in UTC (universal coordinated time).

The LastUpdated field is a SQL Server timestamp field, basically a row version number, and is returned as a base64 encoding of 8 bytes. Including this value on a subsequent IssueUpdate request will ensure that the update will only occur if the underlying data has not been changed (i.e. the LastUpdated value pass must be the same as what is currently stored in the database).

XSD Schema Definition

The following is the schema definition used for the <IssueDetails> response message (see IssueDetailsGet()()()())

CopyXML
<xs:element name="IssueDetails">
  <xs:complexType>
    <xs:all>

      <xs:element name="Fields" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence minOccurs="1" maxOccurs="unbounded">
            <xs:any processContents="skip" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>


      <xs:element name="Comments" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence minOccurs="1"  maxOccurs="unbounded">
            <xs:element name="Comment">
              <xs:complexType>
                <xs:all>
                  <xs:element name="CommentId" type="xs:integer" />
                  <xs:element name="CommentAuthorUserId" type="xs:string" />
                  <xs:element name="CommentCreatedOn" type="xs:dateTime" />
                  <xs:element name="CommentField" type="xs:string" />
                  <xs:element name="CommentText" type="xs:string" />
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="Attachments" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence minOccurs="1"  maxOccurs="unbounded">
            <xs:element name="Attachment">
              <xs:complexType>
                <xs:all>
                  <xs:element name="AttachmentId" type="xs:integer" />
                  <xs:element name="AttachmentFilename" type="xs:string" />
                  <xs:element name="AttachmentMimeType" type="xs:string" />
                  <xs:element name="AttachmentData" type="xs:string" />
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="RelatedIssues" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence minOccurs="1"  maxOccurs="unbounded">
            <xs:element name="RelatedIssueId" type="xs:integer" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="RelatedItems" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence minOccurs="1"  maxOccurs="unbounded">
            <xs:element name="RelatedItem">
              <xs:complexType>
                <xs:all>
                  <xs:element name="RelatedItemId" type="xs:integer" />
                  <xs:element name="RelatedItemUrl" type="xs:string" />
                  <xs:element name="RelatedItemTitle" type="xs:string" />
                  <xs:element name="RelatedItemOpenInNewWindow" type="xs:boolean" />
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="Subscribers" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence minOccurs="1"  maxOccurs="unbounded">
            <xs:element name="Subscriber">
              <xs:complexType>
                <xs:all>
                  <xs:element name="SubscriberUserId" type="xs:string" />
                  <xs:element name="SubscriberSendEMail" type="xs:boolean" />
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="Histories" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence minOccurs="1"  maxOccurs="unbounded">
            <xs:element name="History">
              <xs:complexType>
                <xs:all>
                  <xs:element name="HistoryId" type="xs:integer" />
                  <xs:element name="HistoryCreatedByUserId" type="xs:string" />
                  <xs:element name="HistoryCreatedOn" type="xs:dateTime" />
                  <xs:element name="HistoryNewResolutionCode" type="xs:string" />
                  <xs:element name="HistoryNewStatusCode" type="xs:string" />
                  <xs:element name="HistoryNewAssignedToUserId" type="xs:string" />
                  <xs:element name="HistoryOldResolutionCode" type="xs:string" />
                  <xs:element name="HistoryOldStatusCode" type="xs:string" />
                  <xs:element name="HistoryOldAssignedToUserId" type="xs:string" />
                  <xs:element name="HistoryChangeDetails" type="xs:string" />
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

    </xs:all>
  </xs:complexType>
</xs:element>