=== Helix Versioning Engine Clients [[get_helix_versioning_engine_vX_clients]] ==== `GET /helix_versioning_engine/v[api]/clients` Lists available clients in the system. The resources of this list are summaries of clients 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_clients.html[`p4 -ztag clients`] command. For more field information refer to the http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_clients.html[command reference]. See <<error_responses>> for the format of failures. An example response body might look like: [source,json] ---- [ { "client": "test_EEDOGMCS", "Update": "1437169680", "Access": "1437169680", "Owner": "", "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir", "SubmitOptions": "submitunchanged", "LineEnd": "local", "Root": "/tmp/clients/test_EEDOGMCS", "Host": "", "Description": "Test EEDOGMCS\n" }, { "client": "test_QBZEOHBJ", "Update": "1437169655", "Access": "1437169655", "Owner": "jdoe", "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir", "SubmitOptions": "submitunchanged", "LineEnd": "local", "Root": "/Users/tristan/dev/hws", "Host": "localhost", "Description": "Test QBZEOHBJ\n" } ] ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#clients-instance_method[`HelixWebServicesClient#clients`] [[post_helix_versioning_engine_vX_clients]] ==== `POST /helix_versioning_engine/v[api]/clients` Creates a new client specification, like the `p4 client` 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_client.html[p4 client] command. ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json` |=== ===== Example Request JSON [source,json] ---- { "Client": "my_project_main", "Host": "superawesome", "Root": "/home/jimbob/my_project_main", "Description": "My project client on superawesome.\n", "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir", "View": ["//depot/main/my-project/... //my_project_main/depot/main/my-project/..."] } ---- ==== Ruby Client Example [source,ruby] ---- client.create_client({ "Client" => "my_project_main", "Host" => "superawesome", "Root" => "/home/jimbob/my_project_main", "Description" => "My project client on superawesome.\n", "Options" => "noallwrite noclobber nocompress unlocked nomodtime normdir" "View" => ["//depot/main/my-project/... //my_project_main/depot/main/my-project/..."] }) ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#create_client-instance_method[`HelixWebServicesClient#create_client`] [[get_helix_versioning_engine_vX_clients_client]] ==== `GET /helix_versioning_engine/v[api]/clients/[client]` Return client details, similar to the `p4 client -o` command. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `api` | The Helix Versioning Engine API level. | client | The client name. |=== ===== 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_client.html[`p4 -ztag client [client 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] ---- { "Client": "my_project_main", "Update": "2015/07/22 11:36:46", "Access": "2015/07/22 11:36:46", "Host": "superawesome", "Description": "My project client on superawesome.\n", "Root": "/home/user/my_project_main", "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir", "SubmitOptions": "submitunchanged", "LineEnd": "local", "View": [ "//depot/main/my-project/... //my_project_main/depot/main/my-project/..." ] } ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#client-instance_method[`HelixWebServicesClient#client`] [[patch_helix_versioning_engine_vX_clients_client]] ==== `PATCH /helix_versioning_engine/v[api]/clients/[client]` Update client specifications, similar to the `p4 client` 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. | client | The client name. |=== ===== 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_client.html[`p4 -ztag client [client name]`] command. ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json` |=== ===== Example JSON Request Body [source,json] ---- { "Options": "allwrite noclobber nocompress unlocked nomodtime rmdir" } ---- ===== Ruby Client See link:./helix_web_services_client_ruby/HelixWebServicesClient.html#update_client-instance_method[`HelixWebServicesClient#update_client`] [source,ruby] ---- client.update_client({ "Options" => "noallwrite noclobber nocompress unlocked nomodtime normdir" }) ---- [[delete_helix_versioning_engine_vX_clients_client]] ===== `DELETE /helix_versioning_engine/v[api]/clients/[client]` Removes the client specification, similar to the `p4 client -d` command. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `api` | The Helix Versioning Engine API level. | client | The client name. |=== ===== 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_client-instance_method[`HelixWebServicesClient#delete_client`]
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 15741 | ptomiak | Branch HWS for my use. | ||
//guest/perforce_software/helix-web-services/main/source/doc/helix_versioning_engine/clients.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/clients.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/clients.asc | |||||
#4 | 15110 | tjuricek | Revise changes methods for new p4 connection handling, add server specs, remove model references in client, and update asciidoc documentation. | ||
#3 | 15090 | tjuricek |
Update _proposed_ API for project services. This is *very likely* to change, and will not be implemented until reviewed. |
||
#2 | 15078 | tjuricek |
clients spec method revisions Updated some other documentation. |
||
#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. |