GET | OPTIONS /projects/:id/svn
{
"collection": [
{
"id": int,
"uri": "/svn/:id"
"name": string
},
...
]
}
GET /projects/:id/svn?query=XXX
{
"collection": [
{
"id": int,
"uri": "/svn/:id"
"name": string
}
]
}
- Allow to search for 1 repository in a given project
- The filter is not compatible with wildcard for now
GET | OPTIONS /svn/:id
{
"id": int,
"project_id": int,
"uri": "/svn/:id"
"name": string
"settings": {
"commit_rules": {
"mandatory_reference": boolean,
"allow_commit_message_change": boolean
}
}
}
- note: the "settings" part is only viewable by people who are svn administrators, project administrators or site administrators
POST | OPTIONS /svn
{
"project_id": int,
"name": string
"settings": {
"commit_rules": {
"mandatory_reference": boolean,
"allow_commit_message_change": boolean
}
}
}
- Creates a new repository
- The repository is not physically created "right away" as it's done by a background "system event" that can take up to 2 minutes to be processed. However the route will return 201 (created) is informations are valid + a specific message to inform that the actual creation of the repository will occur later
- As an evolution of the API we might imagin that the POST representation defined here could have a "callback_uri" the would be called by Tuleap server once the repository is created so calling script/application could be informed about it automatically.
- This action is restricted to svn administrators, project administrators or site administrators
PUT /svn/:id
{
"id": int
"settings": {
"commit_rules": {
"mandatory_reference": boolean,
"allow_commit_message_change": boolean
}
}
}
- Update repository configuration
- The change is logged in project audit trail (project history)
- This action is restricted to svn administrators, project administrators or site administrators
- Returns RepositoryRepresentation like GET
DELETE /svn/:id
- This action is restricted to svn administrators, project administrators or site administrators
- Delete the repository