SubmitShelf(project, change ID) === Helix Sync Changes Many operations for Helix Sync are related to manipulating changelists in order to share state across devices. [[get_helix_sync_v1_changes_project]] ==== `GET /helix_sync/v1/changes/[project]` Return the latest change number available for a project. This method can have multiple implementations. To use a "Helix Versioning Engine Project" as defined in <<appendix_hve_project_json>>, you will need to ensure the `HVE_PROJECT_PATH` is set. This can be set on a request, or on the system as a whole. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `project` | The project ID, see <<appendix_project_json>> |=== ===== 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 See <<error_responses>> for the format of failures. The response of this method is a single JSON object with a single property, called `change`, which indicates the latest changelist number. [[post_helix_sync_v1_changes_project]] ==== `POST /helix_sync/v1/changes/[project]` Request to create a changelist for the user and [project] to be used as a shared shelf amongst devices. This is a no-op if no such changelist currently exists, and the existing change will be returned. This method can have multiple implementations. To use a "Helix Versioning Engine Project" as defined in <<appendix_hve_project_json>>, you will need to ensure the `HVE_PROJECT_PATH` is set. This can be set on a request, or on the system as a whole. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `project` | The project ID, see <<appendix_project_json>> |=== ===== 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 See <<error_responses>> for the format of failures. The response of this method is a single JSON object with a single property, called `change`, which indicates the latest changelist number. [[get_helix_sync_v1_changes_project_pending]] ==== `GET /helix_sync/v1/changes/[project]/pending` Returns the pending changelist to be used as the primary shelf for this project for the authenticated user. If such a changelist does not exist, you can use <<post_helix_sync_v1_changes_project>> to create one. Will return a 404 (not found) if such a changelist does not exist. This method can have multiple implementations. To use a "Helix Versioning Engine Project" as defined in <<appendix_hve_project_json>>, you will need to ensure the `HVE_PROJECT_PATH` is set. This can be set on a request, or on the system as a whole. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `project` | The project ID, see <<appendix_project_json>> |=== ===== 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 See <<error_responses>> for the format of failures. The response of this method is a single JSON object with a single property, called `change`, which indicates the latest changelist number. In the case no change exists, there will be no response body, and a 404 response code will be returned instead. [[post_helix_sync_v1_changes_project_pending]] ==== `POST /helix_sync/v1/changes/[project]/pending` Requests to submit the particular pending changelist for the project. It's assumed that what you want to submit has been shelved, and no open files remain on your local clients. There is no response body when this method succeeds, only in failure. This method can have multiple implementations. To use a "Helix Versioning Engine Project" as defined in <<appendix_hve_project_json>>, you will need to ensure the `HVE_PROJECT_PATH` is set. This can be set on a request, or on the system as a whole. This implementation only runs a submit -e on the pending changelist. No resolution is currently performed. ===== Request URL Path Parameters [cols="2*", options="header"] |=== | Parameter | Description | `project` | The project ID, see <<appendix_project_json>> |=== ===== 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 See <<error_responses>> for the format of failures.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#11 | 17323 | tjuricek |
Revise the documentation to use the JVM-based asciidoctor. This will generate the DocBook XML. I'm still ironing out exactly what the CD process is here. |
||
#10 | 17122 | tjuricek |
Add an optional human-readable description for submits via Helix Sync. P4WEBAPI-165 |
||
#9 | 17090 | tjuricek |
Revised documentation based on edits received (on paper). Removed Helix Web Services ruby client references, since there is no publication plan for this API. |
||
#8 | 16106 | tjuricek |
Revise the URLs for Helix Sync client workspaces. Added *stubs* for deleting the clients for a user, implementations will follow. |
||
#7 | 16103 | tjuricek | Revision of helix sync 'changelist' methods. | ||
#6 | 16102 | tjuricek | Rename GET /helix-sync/v1/changes/[project] -> GET /helix-sync/v1/[project]/last-change | ||
#5 | 16097 | tjuricek |
Remove POST /helix-sync/v1/changes/[project] This will be handled by the Helix Sync client. |
||
#4 | 16096 | tjuricek | Rename '/helix_sync' URLs to '/helix-sync' | ||
#3 | 16004 | tjuricek | Add notes on default query parameter for the helix sync pending changelist | ||
#2 | 15761 | tjuricek |
Naive implementation of the "preview resolve plan". The API needs to be avaiable for the integration effort between Helix Cloud and Helix Sync. Tests to follow. |
||
#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_sync/changes.asc | |||||
#5 | 15517 | tjuricek | Do not require changelist ID for submitting Helix Sync pending changelists. | ||
#4 | 15499 | tjuricek | Naive implementation of helix sync project submit for "helix versioning engine projects". | ||
#3 | 15496 | tjuricek |
Revise GET /helix_sync/v1/changes/[project] to /helix_sync/v1/changes/[project]/pending The base method is really intended for the latest changelist number. Meh. |
||
#2 | 15487 | tjuricek | Add basic ability to create pending changelists for helix sync projects. | ||
#1 | 15435 | tjuricek |
Add proposed HTTP methods for Helix Sync. It's a little unclear to me why you would need a local root directory to create the shared shelving changelist for a particular project (and user). So I didn't add that. |