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:
<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:
<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:
<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:
<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
<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:
<ticket>
...
</ticket>
Response:
HTTP Status: 200 OK
Delete Ticket - DELETE /projects/#{project_id}/tickets/#{number}.xml
Response:
HTTP Status: 200 OK