Tickets

List Tickets - GET /projects/#{project_id}/tickets.xml

Retrieve a list of tickets for the current project. The shown ticket data is the latest updated version of the ticket. You can also pass one of two parameters:

  • ?q=abc - You can enter the same query keywords.
  • ?page=2 - You can also specify the page number.

Response:

1
2
3
4
5
6
7
8
9

<tickets>
  <ticket>
    ...
  </ticket>
  <ticket>
    ...
  </ticket>
</tickets>

Get Ticket - GET /projects/#{project_id}/tickets/#{number}.xml

This fetches not only the latest version of the ticket, but all of the previous versions. They will be listed in //ticket-versions/ticket elements and contain the same attributes as tickets.

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<ticket>
  <assigned-user-id type="integer"></assigned-user-id>
  <attachments-count type="integer">0</attachments-count>
  <body>#{unprocessed, raw body content}</body>
  <body-html>#{processed and filtered for html}</body-html>
  <created-at type="datetime">2007-01-15T08:13:09Z</created-at>
  <creator-id type="integer">1</creator-id>
  <milestone-id type="integer">2</milestone-id>
  <number type="integer">84</number>
  <permalink>provide-an-unwatch-link-in-notification-emails</permalink>
  <project-id type="integer">2</project-id>
  <state>resolved</state>
  <title>Provide an unwatch link in notification emails</title>
  <updated-at type="datetime">2007-02-21T16:01:55Z</updated-at>
  <user-id type="integer">1</user-id>
  <tag>deployment high</tag>
  <versions>
    <version type="Ticket::Version">
      ...
    </version>
    <version type="Ticket::Version">
      ...
    </version>
  </versions>
</ticket>

New Ticket - GET /projects/#{project_id}/tickets/new.xml

This gives you the initial state for an empty ticket.

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

<ticket>
  <assigned-user-id type="integer"></assigned-user-id>
  <attachments-count type="integer">0</attachments-count>
  <body></body>
  <body-html></body-html>
  <created-at type="datetime"></created-at>
  <creator-id type="integer"></creator-id>
  <milestone-id type="integer"></milestone-id>
  <number type="integer"></number>
  <permalink></permalink>
  <project-id type="integer"></project-id>
  <state></state>
  <title></title>
  <updated-at type="datetime"></updated-at>
  <user-id type="integer"></user-id>
</ticket>

Create Ticket - POST /projects/#{project_id}/tickets.xml

Creates a ticket. Missing attributes will remain their default, as shown in the new ticket request above. The shown fields are the only ones you can set:

  • title
  • body - follows the same formatting rules.
  • state - Can be any one of these: new, open, resolved, hold, invalid. Optional, set to open by default for new tickets.
  • assigned-user-id - optional
  • milestone-id - optional
  • tag - space or comma delimited list of tags

Request:

1
2
3
4
5
6
7
8

<ticket>
  <assigned-user-id type="integer"></assigned-user-id>
  <body></body>
  <milestone-id type="integer"></milestone-id>
  <state></state>
  <title></title>
</ticket>

Response:

  • HTTP Status: 201 Created
  • Location: http://activereload.lighthouseapp.com/projects/5/tickets/5.xml
1
2
3
4

<ticket>
  ...
</ticket>

Update Ticket - PUT /projects/#{project_id}/tickets/#{number}.xml

Update an existing ticket. You can leave out fields to keep them unchanged.

Request:

1
2
3
4

<ticket>
  ...
</ticket>

Response:

  • HTTP Status: 200 OK

Delete Ticket - DELETE /projects/#{project_id}/tickets/#{number}.xml

Response:

  • HTTP Status: 200 OK
« Projects | API | Changesets »

Visit us in the forums

If you can't find what you're looking for here? visit us in the forums.