=== Helix Versioning Engine Streams [[get_p4_vX_streams]] ==== `GET /p4/v[api]/streams` Lists available streams in the system. The resources of this list are summaries of streams in the system. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `api` | The Helix Versioning Engine API level. |=== ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Authorization` | See <<authentication>> | `Accept` | `application/json` | `Content-Type` | `application/json` | `X-Perforce-Helix_Web_Services-*` | See <<per_request_configuration>> |=== ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json` |=== ===== Response Body JSON The values of this method are based on the result of the http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_streams.html[`p4 -ztag streams`] command. For more field information refer to the http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_streams.html[command reference]. See <<error_responses>> for the format of failures. An example response body might look like: [source,json] ---- [ { "Stream": "//stream-test/main-TKOMGMSZ", "Update": "1437761647", "Access": "1437761647", "Owner": "jdoe", "Name": "main-TKOMGMSZ", "Parent": "none", "Type": "mainline", "desc": "Test stream main-TKOMGMSZ\n", "Options": "allsubmit unlocked notoparent nofromparent", "firmerThanParent": "n/a", "changeFlowsToParent": "false", "changeFlowsFromParent": "false", "baseParent": "none" } ] ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#streams-instance_method[`HelixWebServicesClient#streams`] [[post_p4_vX_streams]] ==== `POST /p4/v[api]/streams` Creates a new stream specification, like the `p4 stream` command. There are no other parameters to this method. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `api` | The Helix Versioning Engine API level. |=== ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Authorization` | See <<authentication>> | `Accept` | `application/json` | `Content-Type` | `application/json` | `X-Perforce-Helix_Web_Services-*` | See <<per_request_configuration>> |=== ===== Request Body JSON Properties of the JSON object are the form fields of the http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_stream.html[p4 stream] command. ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json` |=== ===== Example Request JSON [source,json] ---- { "Stream": "//my-stream-depot/main", "Name": "my-stream-depot main", "Description": "Mainline of MyStream", "Type": "mainline", "Parent": "none", "Paths": ["share ..."], "Owner": "jdoe" } ---- ==== Ruby Client Example [source,ruby] ---- client.create_stream({ 'Stream' => '//my-stream-depot/main', 'Name' => 'my-stream-depot main', 'Description' => "Mainline of MyStream", 'Type' => 'mainline', 'Parent' => 'none', 'Paths' => ['share ...'], 'Owner' => 'jdoe' }) ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#create_stream-instance_method[`HelixWebServicesClient#create_stream`] [[get_p4_vX_streams_stream]] ==== `GET /p4/v[api]/streams/[stream]` Return stream details, similar to the `p4 stream -o` command. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `api` | The Helix Versioning Engine API level. | stream | The stream path-like identifier, without the leading `//` |=== ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Authorization` | See <<authentication>> | `Accept` | `application/json` | `Content-Type` | `application/json` | `X-Perforce-Helix_Web_Services-*` | See <<per_request_configuration>> |=== ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json` |=== ===== Response Data Returns the form fields of the http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_stream.html[`p4 -ztag stream [stream name]`] command. For more information, see the command reference. The main difference between the details and list view is the inclusion of the View field. ===== Example JSON Response [source,json] ---- { "Stream": "//stream-test/main-TKOMGMSZ", "Update": "2015/07/24 11:14:07", "Access": "2015/07/24 11:14:07", "Owner": "jdoe", "Name": "main-TKOMGMSZ", "Parent": "none", "Type": "mainline", "Description": "Test stream main-TKOMGMSZ\n", "Options": "allsubmit unlocked notoparent nofromparent", "Paths": [ "share ..." ], "firmerThanParent": "n/a", "baseParent": "none" } ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#stream-instance_method[`HelixWebServicesClient#stream`] [[patch_p4_vX_streams_stream]] ==== `PATCH /p4/v[api]/streams/[stream]` Update stream specifications, similar to the `p4 stream` command. Only the specified parameters in the body will be changed. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `api` | The Helix Versioning Engine API level. | stream | The stream path-like identifier, without the leading `//` |=== ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Authorization` | See <<authentication>> | `Accept` | `application/json` | `Content-Type` | `application/json` | `X-Perforce-Helix_Web_Services-*` | See <<per_request_configuration>> |=== ===== Request Body JSON A single JSON object containing form fields of the http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_stream.html[`p4 -ztag stream [stream name]`] command. ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json` |=== ===== Example JSON Request Body [source,json] ---- { "Description": "The updated my-project-main description.\n", "Owner": "saustin" } ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#update_stream-instance_method[`HelixWebServicesClient#update_stream`] [source,ruby] ---- client.update_stream({ "Stream" => 'my_stream_id', "Description" => "The updated my-project-main description.\n", "Owner" => "saustin" }) ---- [[delete_p4_vX_streams_stream]] ===== `DELETE /p4/v[api]/streams/[stream]` Removes the stream specification, similar to the `p4 stream -d` command. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `api` | The Helix Versioning Engine API level. | stream | The stream path-like identifier, without the leading `//` |=== ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Authorization` | See <<authentication>> | `Accept` | `application/json` | `Content-Type` | `application/json` | `X-Perforce-Helix_Web_Services-*` | See <<per_request_configuration>> |=== ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json` |=== ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_stream-instance_method[`HelixWebServicesClient#delete_stream`]
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 16114 | Doug Scheirer | Merge from main | ||
//guest/doug_scheirer/helix-web-services/main/source/doc/helix_versioning_engine/streams.asc | |||||
#1 | 15688 | Doug Scheirer |
Populate -o //guest/perforce_software/helix-web-services/... //guest/doug_scheirer/helix-web-services/.... |
||
//guest/perforce_software/helix-web-services/main/source/doc/helix_versioning_engine/streams.asc | |||||
#1 | 15622 | tjuricek |
Move source code to 'source/' subdirectory of branch. build/ will remain where it is. |
||
//guest/perforce_software/helix-web-services/main/doc/helix_versioning_engine/streams.asc | |||||
#2 | 15240 | tjuricek |
Set api level via request path on all Helix Versioning Engine methods. This will allow migration of applications to different P4D versions. Our internal methods (like project API) should attempt to handle backward compatibility similarly. P4WEBAPI-118 |
||
#1 | 15144 | tjuricek |
Setup stream spec tests and documentation. Also revised the documentation folder http_p4_web_api -> helix_versioning_engine |
||
//guest/perforce_software/helix-web-services/main/doc/http_p4_web_api/streams.asc | |||||
#1 | 13555 | tjuricek |
Starting Asciidoc conversion of documentation. Removed the "Shared Quality" document, that basically is online now at: https://confluence.perforce.com:8443/display/PWS/Quality+Assurance Adding some topology graphviz images used for online documentation. |