OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/doc/apiv3/endpoints/versions.apib

175 lines
7.6 KiB

# Group Versions
## Linked Properties
| Link | Description | Type | Constraints | Supported operations |
|:-------------------:|----------------------------------------- | ------------- | -------------------------------------------------------------- | -------------------- |
| self | This version | Version | not null | READ |
| definingProject | The project to which the version belongs | Project | only present if the project is visible for the current user | READ |
| availableInProjects | Projects where this version can be used | Projects | not null | READ |
## Local Properties
| Property | Description | Type | Constraints | Supported operations |
| :---------: | --------------------------------------------- | ----------- | ----------- | -------------------- |
| id | Version id | Integer | x > 0 | READ |
| name | Version name | String | not null | READ |
| description | | Formattable | not null | READ |
| startDate | | Date | | READ |
| endDate | | Date | | READ |
| status | The current status of the version | String | not null | READ |
| createdAt | Time of creation | DateTime | not null | READ |
| updatedAt | Time of the most recent change to the version | DateTime | not null | READ |
## Versions by Project [/api/v3/projects/{project_id}/versions]
+ Model
+ Body
{
"_links": {
"self": { "href": "/api/v3/projects/11/versions" }
},
"total": 3,
"count": 3,
"_type": "Collection",
"_embedded":
{
"elements": [
{
"_links": {
"self": { "href": "/api/v3/versions/11" },
"definingProject": { "href": "/api/v3/projects/11" },
"availableInProjects": { "href": "/api/v3/versions/11/projects" }
},
"_type": "Version",
"id": 11,
"name": "v3.0 Alpha",
"description": {
"format": "plain",
"raw": "This version has a description",
"html": "This version has a description"
},
"startDate": "2014-11-20",
"endDate": null,
"status": "Open"
},
{
"_links": {
"self": { "href": "/api/v3/versions/12" },
"definingProject": { "href": "/api/v3/projects/11" },
"availableInProjects": { "href": "/api/v3/versions/12/projects" }
},
"_type": "Version",
"id": 12,
"name": "v2.0",
"description": {
"format": "plain",
"raw": "",
"html": ""
},
"startDate": null,
"endDate": null,
"status": "Closed"
},
{
"_links": {
"self": { "href": "/api/v3/versions/10" },
"definingProject": { "href": "/api/v3/projects/11" },
"availableInProjects": { "href": "/api/v3/versions/10/projects" }
},
"_type": "Version",
"id": 10,
"name": "v1.0",
"description": {
"format": "plain",
"raw": "",
"html": ""
},
"startDate": null,
"endDate": null,
"status": "Open"
}
]
}
}
## List versions available in a project [GET]
This endpoint lists the versions that are *available* in a given project.
Note that due to sharing this might be more than the versions *defined* by that project.
+ Parameters
+ project_id (required, integer, `1`) ... ID of the project whoose versions will be listed
+ Response 200 (application/hal+json)
[Versions by Project][]
+ Response 404 (application/hal+json)
Returned if the project does not exist or the client does not have sufficient permissions
to see it.
**Required permission:** view work packages **or** manage versions (on given project)
*Note: A client without sufficient permissions shall not be able to test for the existence of a project.
That's why a 404 is returned here, even if a 403 might be more appropriate.*
+ Body
{
"_type": "Error",
"errorIdentifier": "urn:openproject-org:api:v3:errors:NotFound",
"message": "The specified project does not exist."
}
## Version [/api/v3/versions/{id}]
+ Model
+ Body
{
"_links": {
"self": { "href": "/api/v3/versions/11" },
"definingProject": { "href": "/api/v3/projects/11" },
"availableInProjects": { "href": "/api/v3/versions/11/projects" }
},
"_type": "Version",
"id": 11,
"name": "v3.0 Alpha",
"description": {
"format": "plain",
"raw": "This version has a description",
"html": "This version has a description"
},
"startDate": "2014-11-20",
"endDate": null,
"status": "Open"
}
## View Version [GET]
+ Parameters
+ id (required, integer, `1`) ... version id
+ Response 200 (application/hal+json)
[Version][]
+ Response 404 (application/hal+json)
Returned if the version does not exist or the client does not have sufficient permissions
to see it.
**Required permission:** view work packages **or** manage versions (any project where the version is available)
*Note: A client without sufficient permissions shall not be able to test for the existence of
a version. That's why a 404 is returned here, even if a 403 might be more appropriate.*
+ Body
{
"_type": "Error",
"errorIdentifier": "urn:openproject-org:api:v3:errors:NotFound",
"message": "The specified version does not exist."
}