=== Project Methods These methods provide project JSON defined in <<appendix_project_json>>. If you are extending Helix Web Services to include your project type, see <<project_extensions>>. [[post_projects_v1_login]] ==== `POST /projects/v1/login` Generates a login token for accessing projects via this instance. This may return a p4 ticket, or another kind of ticket, depending upon the backing implementation. Use of this ticket will generally be used for authenticating requests related to project metadata. ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Accept` | `application/json`, `text/plain` | `Content-Type` | `application/json` | `X-Perforce-Helix_Web_Services-*` | See <<per_request_configuration>> |=== ===== Request Body JSON A single JSON object with the following keys [cols="2*", options="header"] |=== | Property | Description | `user` | The Helix Versioning Engine login | `password` | The password for the particular user |=== ===== Response Headers [cols="2*", options="header"] |=== | Header Name | Notes | `Content-Type` | `application/json`, `text/plain` |=== ===== Response Body See <<error_responses>> for the format of failures. The response returns a JSON object with a single `ticket` parameter. Example response: [source,json] ---- { "ticket": "16A76F005802E742E834163A22A4DED4" } ---- [[get_projects_v1]] ==== `GET /projects/v1` Returns an array of projects accessible to the user. There are two modes available here: details and ID-only. When details mode is specified, the return value is an array of complete project JSON objects. ID-only mode returns an array of project IDs only. ===== Request URI Query Parameters [cols="3*", options="header"] |=== | Parameter Key | Description | Default | `mode` | `details` or `id`. If `details`, you receive entire project JSON. Otherwise, the output should be an array of strings. | `id` | `extension` | Only return projects with the indicated extension type. See the extension ID referenced in <<appendix_project_json>>. When empty, will return all projects. | |=== ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `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. Returns an array of either project IDs, which will be strings, or project JSON. See <<appendix_project_json>> for project JSON details. Example return of project IDs: [source,json] ---- [ "alpha", "beta", "gamma", "delta" ] ---- Truncated example return of project JSON: [source,json] ---- [ { "id": "alpha", "name": "Project Alpha", ... truncated }, { "id": "beta", "name": "Beta Project", ... truncated } ] ---- [[get_projects_v1_project]] ==== `GET /projects/v1/[project]` Returns project details for a particular project. ===== Request Headers [cols="2*", options="header"] |=== | Header Name | Notes | `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 See <<error_responses>> for the format of failures. Returns the project JSON structure as defined in <<appendix_project_json>>.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 16114 | Doug Scheirer | Merge from main | ||
#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/project_services/http.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/project_services/http.asc | |||||
#3 | 15098 | tjuricek |
Revised project services to GET-only forms. With Helix Sync revising to integrate purely with Helix Cloud, this is the only thing we can reasonably define. |
||
#2 | 15090 | tjuricek |
Update _proposed_ API for project services. This is *very likely* to change, and will not be implemented until reviewed. |
||
#1 | 15032 | tjuricek |
Starting config and doc revisions. System is now broken while revisions underway. Configuration of the p4d connection is now done via a single HWSSettings middleware object injected into the Rack env. The HWSP4Cleanup middleware now cleans up any p4 injected into the Rack env. The Auth::App class now mostly just contains one method to generate a p4 ticket. /auth/v1/login. Added yard documentation for the main project. Yard docs have been reconfigured to dump into build/ directories. This should probably be done with each release. Hm... The top level rake file contains a task, 'all:doc', to update our documentation. This should probably be run for each checkin. Hm... Specs are now using Rack::Test on top of a 'live' p4d. I'd suggest you still use the p4util mechanism, which now dumps to a /tmp folder, so we can safely add P4IGNORE rules back into your local .p4config file. Old 'perforce' application now called 'helix_versioning_engine'. Removing cache data. Helix Sync may be slow. It may also get axed. We'll see. |