== HTTP Protocol Reference Each section includes methods related to a particular topic or resource. Authentication Methods * <<post_auth_v1_login>> Configuration Methods * <<get_config_v1_services>> Git Fusion Methods Repositories * <<get_git_fusion_v1_repos>> * <<get_git_fusion_v1_repos_repo>> * <<put_git_fusion_v1_repos_repo>> * <<patch_git_fusion_v1_repos_repo>> * <<delete_git_fusion_v1_repos_repo>> Keys * <<get_git_fusion_v1_keys>> * <<get_git_fusion_v1_user_keys>> * <<put_git_fusion_v1_keys_user_key_name>> * <<delete_git_fusion_v1_delete_key>> * <<delete_git_fusion_v1_user_keys>> Helix Sync Methods Changes * <<get_helix_sync_v1_changes_project>> * <<post_helix_sync_v1_changes_project>> * <<get_helix_sync_v1_changes_project_pending>> * <<post_helix_sync_v1_changes_project_pending>> Clients * <<post_helix_sync_v1_clients>> Helix Versioning Engine Methods Branches * <<get_helix_versioning_engine_vX_branches>> * <<post_helix_versioning_engine_vX_branches>> * <<get_helix_versioning_engine_vX_branches_branch>> * <<patch_helix_versioning_engine_vX_branches_branch>> * <<delete_helix_versioning_engine_vX_branches_branch>> Changes * <<get_helix_versioning_engine_vX_changes>> * <<post_helix_versioning_engine_vX_changes>> * <<get_helix_versioning_engine_vX_changes_change>> * <<post_helix_versioning_engine_vX_changes_change>> Clients * <<get_helix_versioning_engine_vX_clients>> * <<post_helix_versioning_engine_vX_clients>> * <<get_helix_versioning_engine_vX_clients_client>> * <<patch_helix_versioning_engine_vX_clients_client>> * <<delete_helix_versioning_engine_vX_clients_client>> Commands * <<get_helix_versioning_engine_vX_commands_command>> * <<post_helix_versioning_engine_vX_commands_command>> Counters * <<get_helix_versioning_engine_vX_counters>> * <<get_helix_versioning_engine_vX_counters_counter>> * <<put_helix_versioning_engine_vX_counters_counter>> * <<post_helix_versioning_engine_vX_counters_counter>> * <<delete_helix_versioning_engine_vX_counters_counter>> Depots * <<get_helix_versioning_engine_vX_depots>> * <<post_helix_versioning_engine_vX_depots>> * <<get_helix_versioning_engine_vX_depots_depot>> * <<patch_helix_versioning_engine_vX_depots_depot>> * <<delete_helix_versioning_engine_vX_depots_depot>> Files * <<get_helix_versioning_engine_vX_files>> * <<patch_helix_versioning_engine_vX_files>> * <<delete_helix_versioning_engine_vX_files>> Groups * <<get_helix_versioning_engine_vX_groups>> * <<post_helix_versioning_engine_vX_groups>> * <<get_helix_versioning_engine_vX_groups_group>> * <<patch_helix_versioning_engine_vX_groups_group>> * <<delete_helix_versioning_engine_vX_groups_group>> Jobs * <<get_helix_versioning_engine_vX_jobs>> * <<post_helix_versioning_engine_vX_jobs>> * <<get_helix_versioning_engine_vX_jobs_job>> * <<patch_helix_versioning_engine_vX_jobs_job>> * <<delete_helix_versioning_engine_vX_jobs_job>> Labels * <<get_helix_versioning_engine_vX_labels>> * <<post_helix_versioning_engine_vX_labels>> * <<get_helix_versioning_engine_vX_labels_label>> * <<patch_helix_versioning_engine_vX_labels_label>> * <<delete_helix_versioning_engine_vX_labels_label>> Login * <<post_helix_versioning_engine_vX_login>> Protections * <<get_helix_versioning_engine_vX_protections>> * <<post_helix_versioning_engine_vX_protections>> Servers * <<get_helix_versioning_engine_vX_servers>> * <<post_helix_versioning_engine_vX_servers>> * <<get_helix_versioning_engine_vX_servers_server>> * <<patch_helix_versioning_engine_vX_servers_server>> * <<delete_helix_versioning_engine_vX_servers_server>> Streams * <<get_helix_versioning_engine_vX_streams>> * <<post_helix_versioning_engine_vX_streams>> * <<get_helix_versioning_engine_vX_streams_stream>> * <<patch_helix_versioning_engine_vX_streams_stream>> * <<delete_helix_versioning_engine_vX_streams_stream>> Triggers * <<get_helix_versioning_engine_vX_triggers>> * <<post_helix_versioning_engine_vX_triggers>> Users * <<get_helix_versioning_engine_vX_users>> * <<post_helix_versioning_engine_vX_users>> * <<get_helix_versioning_engine_vX_users_user>> * <<patch_helix_versioning_engine_vX_users_user>> * <<delete_helix_versioning_engine_vX_users_user>> Project Services * <<get_projects_v1>> * <<get_projects_v1_project>> include::auth/http.asc[] include::config/services.asc[] include::git_fusion/repos.asc[] include::git_fusion/keys.asc[] include::helix_sync/changes.asc[] include::helix_sync/clients.asc[] include::helix_versioning_engine/branches.asc[] include::helix_versioning_engine/changes.asc[] include::helix_versioning_engine/clients.asc[] include::helix_versioning_engine/commands.asc[] include::helix_versioning_engine/counters.asc[] include::helix_versioning_engine/depots.asc[] include::helix_versioning_engine/files.asc[] include::helix_versioning_engine/groups.asc[] include::helix_versioning_engine/jobs.asc[] include::helix_versioning_engine/labels.asc[] include::helix_versioning_engine/login.asc[] include::helix_versioning_engine/protections.asc[] include::helix_versioning_engine/servers.asc[] include::helix_versioning_engine/streams.asc[] include::helix_versioning_engine/triggers.asc[] include::helix_versioning_engine/users.asc[] include::project_services/http.asc[]
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#3 | 15745 | ptomiak |
Second part of shelved changes. Contains updated git-fusion app, changes to string encodig/decoding and updated docs. |
||
#2 | 15744 | ptomiak | Unshelve files from review 15549 to my dev branch. | ||
#1 | 15741 | ptomiak | Branch HWS for my use. | ||
//guest/perforce_software/helix-web-services/main/source/doc/05_http_protocol.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/05_http_protocol.asc | |||||
#25 | 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. |
||
#24 | 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. |
||
#23 | 15297 | tjuricek |
Implement of 'cluster services' configuration. The configuration will be stored in a local JSON file, which is expected to be maintained by the systems admin. Eventually, it's expected to have this sort of thing implemented via Helix Admin. |
||
#22 | 15242 | tjuricek | Add Helix Sync stubs and documentation | ||
#21 | 15241 | tjuricek | Add Git Fusion stubs and documentation. | ||
#20 | 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 |
||
#19 | 15228 | tjuricek | Revise triggers implementation, tests, and documentation. | ||
#18 | 15227 | tjuricek |
Revise implementation, tests, and documentation for protections management. Remove some specs I will not be revising from the helix_web_services project. |
||
#17 | 15225 | tjuricek |
Revise counter implementation, tests, and documentation Wasn't available in the Ruby client before, so, it's now available. |
||
#16 | 15222 | tjuricek |
Revise server specs testing and documentation. Note: also fixed issues with setting P4PORT via headers. For whatever reason, the host setting doesn't seem to work like I expect it to, though P4PORT works just fine. |
||
#15 | 15211 | tjuricek | Implement tests and documentation for label spec management. | ||
#14 | 15210 | tjuricek | Implement tests and documentation for job spec management. | ||
#13 | 15209 | tjuricek | Implement tests and documentation for group spec management. | ||
#12 | 15208 | tjuricek |
Revise 'command' implementation, tests, and documentaiton. This includes a change from a command blacklist to a whitelist. See P4WEBAPI-21 |
||
#11 | 15205 | tjuricek | Implemented tests and documentation for depot spec editing. | ||
#10 | 15189 | tjuricek | Update files implementation, testing, and documentation. | ||
#9 | 15185 | tjuricek | Update user spec management implementation, tests, and documentation. | ||
#8 | 15144 | tjuricek |
Setup stream spec tests and documentation. Also revised the documentation folder http_p4_web_api -> helix_versioning_engine |
||
#7 | 15111 | tjuricek |
Remove references to actually using the SQLite DB in the installation Still depending on it to avoid shared library dependencies to system packages |
||
#6 | 15110 | tjuricek | Revise changes methods for new p4 connection handling, add server specs, remove model references in client, and update asciidoc documentation. | ||
#5 | 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. |
||
#4 | 15090 | tjuricek |
Update _proposed_ API for project services. This is *very likely* to change, and will not be implemented until reviewed. |
||
#3 | 15078 | tjuricek |
clients spec method revisions Updated some other documentation. |
||
#2 | 15077 | tjuricek |
Add new 'model' technique, revised branch spec operations, test Auth::Middleware. The Ruby client now does *not* strictly type anything, but extends OpenStruct with helper methods to help deal with inconsistent data formats. See the OpenModel class documentation for more details. The Auth::Middleware class is also *finally* implemented as well. This does not take into account all possible variations of server behavior (yet), but that will happen in follow-up work. |
||
#1 | 15038 | tjuricek | Document 'login' auth method and client programming overview. | ||
//guest/perforce_software/helix-web-services/main/doc/04_http_protocol.asc | |||||
#4 | 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. |
||
#3 | 14182 | tjuricek | Asciidoc conversion of the changes HTTP guide | ||
#2 | 13612 | tjuricek | Update deployment guide, switch built documentation to asciidoc, remove unused packaging script for p4_web_api | ||
#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. |