This user guide only applies if your account and project is on our new platform, i.e. if your project's URL begins with https://<your-account>.xp-dev.com rather than https://xp-dev.com. If your account is on our old platform, you should be using this user guide instead.
Each Project Object has the following attributes:
Attribute | Description |
---|---|
name | Project long name |
id | Unique project ID |
type | Either XPDev, Barebones or Trac |
description | Project description |
fileAttachmentSize | Total size of attachments, or for Trac projects, total size of the Trac project installation |
abbreviatedName | Unique project abbreviated name, which for Trac projects make part of the project URL. Alphanumeric characters, period and underscore are alloed. No spaces allowed. |
bugStates | A list of bug states, only used for XPDev projects |
trac | A Trac Options object |
A Trac Options object has the following attributes (only applicable to Trac projects):
Attribute | Description |
---|---|
created | Whether the Trac project has been created |
restrictDropDown | Whether Trac projects have drop downs restricted to usernames |
notificationEnabled | Whether email notifications are enabled |
timelineMaxDays | No. of days to show on the timeline |
timelineShowTicketDetails | Show comments and other stuff in the timeline |
allowTicketDeletion | Whether tickets are allowed to be deleted permanently or not |
incomingEmailEnabled | Whether incoming emails are enabled and allowed |
alwaysNotifyReporter | Always notify the ticket reporter in email notifications |
alwaysNotifyOwner | Always notify the ticket owner in email notifications |
alwaysNotifyUpdater | Always notify the ticket updater in email notifications |
size | This Trac project's size |
alwaysCc | List of email addressess to CC all email notifications to |
alwaysBcc | List of email addressess to BCC all email notifications to |
subjectPrefix | Email notification's subject prefix |
GET
request to https://<your-account>.xp-dev.com/api/v1/projects
:
curl https://<your-account>.xp-dev.com/api/v1/projects
Responses will be a list of Project Objects:
[
{
"id": 1,
"name": "first one",
"fileAttachmentsSize": 0.10902690887451172,
"bugStates": "New\nIn Progress\nClosed\nReopened",
"abbreviatedName": "firstone",
"description": "first project",
"type": "XPDev",
"trac": null
},
{
"id": 2,
"name": "Trac project",
"fileAttachmentsSize": 0.0,
"bugStates": "New\nIn Progress\nClosed\nReopened",
"abbreviatedName": "trac-project",
"description": "The trac project",
"type": "Trac",
"trac": {
"created": true,
"notificationEnabled": false,
"incomingEmailEnabled": false,
"timelineMaxDays": 90,
"allowTicketDeletion": false,
"alwaysNotifyReporter": false,
"alwaysNotifyOwner": false,
"alwaysNotifyUpdater": true,
"restrictDropDown": false,
"size": 2.0,
"alwaysCc": "admin@xp-dev.com",
"alwaysBcc": null,
"subjectPrefix": null
}
},
...
]
POST
request to https://<your-account>.xp-dev.com/api/v1/projects/
with the
following attributes:
Mandatory:
Example request:
curl -X POST -H 'Content-Type: application/json' -d '{"name":"master trac","type":"XPDev","description":"a description","abbreviatedName":"mtractest"}' https://<your-account>.xp-dev.com/api/v1/projects/
Responses will be in the form of a single Project Object
GET
request to https://<your-account>.xp-dev.com/api/v1/projects/<project-id>
. For
example:
curl https://<your-account>.xp-dev.com/api/v1/projects/136
Responses will be in the form of a single Project Object
PUT
request to https://<your-account>.xp-dev.com/api/v1/projects/<project-id>
with
the following attributes:
Mandatory:
Optional:
Example request:
curl -X PUT -H 'Content-Type: application/json' -d '{"name":"master trac","description":"a desc","abbreviatedName":"mtracchange", "bugStates": "New\nAccepted\nClosed"}' https://<your-account>.xp-dev.com/api/v1/projects/136
Responses will be in the form of a single Project Object
DELETE
request to https://<your-account>.xp-dev.com/api/v1/projects/<project-id>
:
curl -X DELETE https://<your-account>.xp-dev.com/api/v1/projects/136
Feel free to contact us if you need any assistance.