This user guide only applies if your account and project is on our old platform, i.e. if your project's URL begins with https://xp-dev.com rather than https://<your-account>.xp-dev.com. If your account is on our new 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 |
owner | Project owner’s username |
description | Project description |
publicProject | Whether the project is marked as public |
fileAttachmentSize | Total size of attachments, or for Trac projects, total size of the Trac project installation |
forceSSL | Whether all requests should be forced to use SSL |
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 |
sourceControlIds | A list of unique ID for repositories. |
repositorySize | Size of the repository |
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 |
GET
request to https://xp-dev.com/api/v1/projects/
:
curl https://xp-dev.com/api/v1/projects/
Responses will be a list of Project Objects:
{"response":[
{
"name":"first one",
"id":126,
"type":"XPDev",
"owner":"user",
"description":"chnge me",
"publicProject":false,
"fileAttachmentsSize":0.00134181976318359,
"forceSSL":false,
"abbreviatedName":"firstone22",
"bugStates":"New\r\nIn Progress\r\nClosed\r\nReopened",
"trac":null,
"sourceControlIds": [150],
"repositorySize":0.412015914916992
},
...
{
"name":"master trac",
"id":136,
"type":"Trac",
"owner":"user",
"description":"",
"publicProject":false,
"fileAttachmentsSize":15.5457563400269,
"forceSSL":false,
"abbreviatedName":"mtrac",
"bugStates":"New\nIn Progress\nClosed\nReopened",
"trac":{
"notificationEnabled":false,
"restrictDropDown":false,
"timelineShowTicketDetails":false,
"timelineMaxDays":90,
"created":true
},
"sourceControlIds": [154],
"repositorySize":0.0
},
...
{
"name":"My Barebones Project",
"id":168,
"type":"Barebones",
"owner":"user",
"description":null,
"publicProject":false,
"fileAttachmentsSize":0.0,
"forceSSL":false,
"abbreviatedName":"barebones",
"bugStates":"New\nIn Progress\nClosed\nReopened",
"trac":null,
"sourceControlIds": [],
"repositorySize":0.0
},
...
}
POST
request to https://xp-dev.com/api/v1/projects/
with the
following attributes:
Mandatory:
Optional
Example request:
curl -X POST -H 'Content-Type: application/json' -d '{"name":"master trac","type":"XPDev","description":"","publicProject":false,"abbreviatedName":"mtractest"}' https://xp-dev.com/api/v1/projects/
Responses will be in the form of a single Project Object
GET
request to https://xp-dev.com/api/v1/projects/<project-id>
. For
example:
curl https://xp-dev.com/api/v1/projects/136
Responses will be in the form of a single Project Object
PUT
request to https://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":"","publicProject":false,"abbreviatedName":"mtracchange", "bugStates": "New\nAccepted\nClosed"}' https://xp-dev.com/api/v1/projects/136
Responses will be in the form of a single Project Object
DELETE
request to https://xp-dev.com/api/v1/projects/<project-id>
:
curl -X DELETE https://xp-dev.com/api/v1/projects/136
Feel free to contact us if you need any assistance.