Project Streams can be accessed and modified through this API using four services: GET, POST, PUT, and PATCH. These four services allow for the retrievalretrieving, creationcreating, complete updatecompletely updating, and partial update of Project Streams. partially updating Project Streams, as well as populating files from a Project Stream. Include Page
Include Page | ||||
---|---|---|---|---|
|
...
Request
Parameter | Type | Required | Description |
---|---|---|---|
projectid | URL | Yes | This is a URL parameter for the Project Id which is searched to find and return a Stream |
streamid | URL | Yes | This is a URL parameter for the Project Stream Id which will be returned from the corresponding Project |
Include Page | ||||
---|---|---|---|---|
|
Response Codes
HTTP Code | Description |
---|---|
200 | Project Stream was found and returned |
400 | Bad request |
401Unauthorized | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project or Stream not found |
500 | Unexpected internal server error |
Example
If we had a Project Stream in our database with an Id of 11101 belonging to a project with an Id of 10002 and the following attributes:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "Stream DescriptinDescription", "isActive": true, "streamName": "FirstStream", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "three", "attribute2": "two", "attribute1": "one", "streamId": 11101, "sequenceNumber": 3 } |
When we run a GET request at the following URL:
http://host:port/flexdeploy/rest/v1/project/10002/stream/11101,
The GET request would return the following JSON Project Stream object:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "Stream DescriptinDescription", "isActive": true, "streamName": "FirstStream", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "three", "attribute2": "two", "attribute1": "one", "streamId": 11101, "sequenceNumber": 3 } |
GET (Using Query Parameters)
This GET service will return a list of Project Streams from the specified project in the form of JSON objects based on the query parameter streamname. Project Streams are only returned if they match all of the specified query parameters and belong to the corresponding Project. If no query parameters are given this request will return the entire list of Streams within the specified Project.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project/{projectid}/stream? Append the following character sequences to the above URL to specify Query parameters. Use '&' between successive query parameters: streamName={streamName} isActive={boolean} Examples: To search by code only: http://host:port/flexdeploy/rest/v1/project/{projectid}/stream?streamName={name} | ||
Tip | ||
The To search by isActive and code: http://host:port/flexdeploy/rest/v1/project/{projectid}/stream?isActive={boolean}&streamName={name} |
Tip |
---|
The query parameters are not case sensitive. Searching by name=NAME is the same as searching by name=name. |
Request
Parameter | Type | Required | Description |
---|---|---|---|
projectId | URL | Yes | This is a URL path parameter for the Project Id which specifies the project which will be queried for Streams. |
streamName |
Query - String | No |
Contains ignore case search for stream name. | |||
isActive | Query - Boolean | No | Returns project streams where isActive field matches parameter. |
Include Page | ||||
---|---|---|---|---|
|
Response Codes
HTTP Code | Description |
---|---|
200 | Project Stream found Search successful and results returned |
400 | Bad request |
401Unauthorized | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project with specified not found |
500 | Unexpected internal server error |
Example
If we had a Project (10002) with the following streams
Code Block | ||||
---|---|---|---|---|
| ||||
[ { "description": "PUTted", "streamName": "PATCHStream1", "isActive": true, "streamId": 10003, "attribute2": "two", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "three", "attribute1": "PATCHoneStotle", "sequenceNumber": 17 }, { "description": "123", "streamName": "PostStream1", "isActive": true, "streamId": 10201, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1", "sequenceNumber": 3 }, { "description": "123", "streamName": "Stream2", "isActive": true, "streamId": 10004, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1", "sequenceNumber": 3 }, { "description": "123", "streamName": "Stream4", "isActive": true, "streamId": 10101, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1", "sequenceNumber": 13 }, { "description": "123", "streamName": "Stream5", "isActive": true, "streamId": 10102, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1", "sequenceNumber": 14 } ] |
When we run a GET request at the following URL:
http://host:port/flexdeploy/rest/v1/project/{projectid}10002/stream?streamName=Stream5,
The GET request would return the following JSON Project Stream object:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "123", "streamName": "Stream5", "isActive": true, "streamId": 10102, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1", "sequenceNumber": 14 } |
POST
Create Stream
This POST service will create a new Project Stream with the same attributes as the given JSON object.
...
Request
Attributes | Type | Required | Description | |
---|---|---|---|---|
description | String | No | This is a description of the Project Stream | |
isActive | Boolean | No | This is a Boolean that tracks whether or not the Project Stream is active. If 'null' isActive defaults to 'true' | |
attribute1 | String | No | This is the first attribute of the Project Stream | |
attribute2 | String | No | This is the second attribute of the Project Stream | |
attribute3 | String | No | This is the third attribute of the Project Stream | |
versionSyntaxScript | String | Yes | This is the version syntax script of the Project Stream | |
streamName | String | Yes | This is the unique name of the Project Stream | projectId |
sequenceNumber | Number | No | @since 5.4.0.2 This is the next sequence number for the stream. This can be used in the version syntax script | |
projectId | URL | Yes | This is the Id of the project to add a new Stream to |
Include Page | ||||
---|---|---|---|---|
|
Response Codes
HTTP Code | Description |
---|---|
201 | Project Stream was created successfully |
400 | Bad request |
401Unauthorized | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project Stream not found |
500 | Unexpected internal server error |
Example
If the POST request receives the following JSON Project Stream object and the project id of 10237at the URL http://host:port/flexdeploy/rest/v1/project/10237/stream,
Code Block | ||||
---|---|---|---|---|
| ||||
{
"description": "123",
"streamName": "NewStream",
"isActive": true,
"attribute2": "2",
"versionSyntaxScript": "\"1.0.\" + SequenceNumber",
"attribute3": "3",
"attribute1": "1",
"sequenceNumber": 4
} |
The following Project Stream object will then be created as a new Stream for Project 10237:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "123", "streamName": "NewStream", "isActive": true, "streamId": 12723, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1" } "attribute1": "1" } |
Populate Files
Info |
---|
This POST service is available starting with version @5.2.0.1 |
This POST service will populate files from a given stream. All discovered files will be saved automatically.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project/{projectid}/stream/{streamid}/populate |
Request
Attribute | Type | Required | Description |
---|---|---|---|
projectId | URL | Yes | The project where files are being populated |
streamId | URL | Yes | The stream to populate files from |
sortAllAfterPopulate | Boolean | No | Whether files should be sorted after populating. Defaults to false |
inactivateMissingFiles | Boolean | No | Whether missing files will be inactivated or not. User must have Inactivate Missing Files permission for the requested project. |
Response
The number of project files which were newly populated will be returned in the response.
Response Codes
HTTP Code | Description |
---|---|
201 | Files were populated |
400 | Bad request |
401 | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project or Stream not found |
500 | Unexpected internal server error |
Example
If we had an Project Stream in our database with a Project Id of 25262, Stream Id of 12321 and we ran a POST request at the following URL:
http://host:port/flexdeploy/rest/v1/project/25262/stream/12321/populate
with the following request JSON:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"sortAllAfterPopulate": false,
"inactivateMissingFiles": true
} |
The POST request would then populate files from the Project Stream with Id 12321, automatically saving the populated files, and return the number of files which were newly populated and saved:
Code Block | ||
---|---|---|
| ||
10 |
PUT
This PUT service will update all attributes of a Project Stream with the given Ids based on the attributes of a JSON object parameters.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project/{projectid}/stream/{streamid} |
Request
Attributes | Type | Required | Description |
---|---|---|---|
description | String | No | This is a description of the Project Stream |
isActive | Boolean | No | This is a Boolean that tracks whether or not the Project Stream is active. If 'null' isActive defaults to 'true' |
attribute1 | String | No | This is the first attribute of the Project Stream |
attribute2 | String | No | This is the second attribute of the Project Stream |
attribute3 | String | No | This is the third attribute of the Project Stream |
versionSyntaxScript | String | No | This is the version syntax script of the Project Stream |
streamId | Long | No | This is the Id of the Project Stream, can pass, but will not change the id of the stream |
streamName | String | No | This is the unique name of the Project Stream |
sequenceNumber | Number | No | @since 5.4.0.2 This is the next sequence number for the stream. This can be used in the version syntax script |
projectId | URL | Yes | This is the Id of the project to find the stream |
streamid | URL | Yes | This is the Id of the stream which will be updated |
Include Page | ||||
---|---|---|---|---|
|
Response Codes
HTTP Code | Description | |
---|---|---|
200 | Project Stream was found and updated | |
400 | Bad request | |
401 | Authentication failure | 401 | Unauthorized
403 | Authorization failure (no access to resource) | |
404 | Project or Stream not found | |
500 | Unexpected internal server error |
Example
If we had an Project Stream in our database with a Project Id of 25262, Stream Id of 12321, and the following attributes:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "123", "streamName": "NewStream", "isActive": true, "streamId": 12321, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1" } |
...
http://host:port/flexdeploy/rest/v1/project/{projectid}25262/stream/{streamid}12321
And the PUT request receives the following JSON Project Stream object,
...
The PUT request would then update the Project Stream with Id 11101 12321 and return the the following JSON Project Stream object:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "UpdateDescription", "streamName": "UpdatedStream", "isActive": true, "streamId": 12321, "attribute2": null, "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": null, "attribute1": "1" } |
PATCH
This PATCH service will update an existing Project Stream with the information passed through a JSON object. If an attribute of the JSON is null, it will not be updated in the Project Stream.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/project/{projectid}/stream/{streamid} |
Request
Attributes | Type | Required | Description |
---|---|---|---|
description | String | No | This is a description of the Project Stream |
isActive | Boolean | No | This is a Boolean that tracks whether or not the Project Stream is active. If 'null' isActive defaults to 'true' |
attribute1 | String | No | This is the first attribute of the Project Stream |
attribute2 | String | No | This is the second attribute of the Project Stream |
attribute3 | String | No | This is the third attribute of the Project Stream |
versionSyntaxScript | String | No | This is the version syntax script of the Project Stream |
streamId | Long | No | This is the unique Id of the Project Stream. This attribute will not cause an error if it is passed, but the stream id won't be changed. |
streamName | String | No | This is the unique name of the Project Stream |
sequenceNumber |
Number | No |
@since 5.4.0.2 This is the next sequence number for the stream. This can be used in the version syntax script | |||
projectId | URL | Yes | This is the Id of the project to find the stream to update |
streamid | URL | Yes | This is the Id of the stream that is being updated |
Include Page | ||||
---|---|---|---|---|
|
Response Codes
HTTP Code | Description |
---|---|
200 | Project Stream was found and patched |
400 | Bad request |
401Unauthorized | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Project or Stream not found |
500 | Unexpected internal server error |
Example
If we had an Project Stream in our database with an Id of 12723 and which had the following attributes
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "123", "streamName": "NewStream", "isActive": true, "streamId": 12723, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1" } |
When we run a PATCH request at the following URL
http://host:port/flexdeploy/rest/v1/project/{projectid}25262/stream/12723
And the PATCH request receives the following JSON Project Stream object,
Code Block | ||||
---|---|---|---|---|
| ||||
{
"description": "Patch Description",
"streamName": "PatchStream"
"
} |
The PATCH request would then update the Project Stream with Id 12723 and return the the following JSON Project Stream object:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "description": "Patch Description", "streamName": "PatchStream", "isActive": true, "streamId": 12723, "attribute2": "2", "versionSyntaxScript": "\"1.0.\" + SequenceNumber", "attribute3": "3", "attribute1": "1" } |