Skip to content

Instantly share code, notes, and snippets.

@Cyberboss
Created December 15, 2020 17:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Cyberboss/369a370ca17da951c1c7cae4361e6f57 to your computer and use it in GitHub Desktop.
Save Cyberboss/369a370ca17da951c1c7cae4361e6f57 to your computer and use it in GitHub Desktop.
HTTP API V8 changelog circa 2020-12-15

HTTP API

  • File transfers have been revamped. The RawData model has been replaced with the FileTicketResult model. This contains one string field, fileTicket. Transfers are now done as standard application/octet-stream GET/PUT requests to the new /Transfer endpoint. Requests should be made to /Transfer?ticket=<fileTicket> after receiving a FileTicketResult. Returns HTTP 200/204 on successful transfers, or standard 409/410 ErrorMessages otherwise. Because of this change, the size limit for file transfers has been increased to 2GB. (#1153)
  • Added ErrorCode 97 for when a job fails due to waiting on an expired upload request. (#1153)
  • POST /Configuration no longer updates lastReadHash field of the returned ConfigurationFile model. (#1153)
  • Renamed the TestMergeParameters model field pullRequestRevision to targetCommitSha. (#1163)
  • Renamed Repository model field gitHubOwner to remoteRepositoryOwner. (#1163)
  • Renamed Repository model field gitHubName to remoteRepositoryName. (#1163)
  • Added field repositoryOrigin to CompileJob model, set to the repository's origin URL at the time of deployment. Will be null for jobs run on older TGS versions. (#1163)
  • Added Repository model field remoteGitProvider which is a numeric enum of supported remote git providers such as GitHub, GitLab, or Unknown. (#1163)
  • Access-Control-Max-Age is now set to 24 hours. (#1151)
  • Added the PermissionSet model. The User model's instanceManagerRights and administrationRights fields have been migrated here. They have their own ids. (#1164)
  • Added the UserGroup model. They have an id, name, list of users (shallow), and permissionSet. (#1164)
  • The User model can either have a dedicated permissionSet or belong to a group. (#1164)
  • UserGroups are managed via the /UserGroup endpoint. PUT creates a group. POST can be used to change a groups name and permissionSet. GET /{id} gets a specific group. GET /List lists all groups. DELETE /{id} deletes an empty group. (#1164)
  • UserGroup membership is handled on a user-by-user basis with POST /User. (#1164)
  • Everything relating to InstanceUsers has been renamed to InstancePermissionSets. They are now associated with PermissionSets as opposed to Users via their permissionSetId. Rights enums have also been renamed, but maintain their functionality. (#1164)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment