package com.perforce.hwsclient; import retrofit.Callback; import retrofit.http.*; import com.perforce.hwsclient.models.P4dConfigId; import com.perforce.hwsclient.models.LoginResponse; import com.perforce.hwsclient.models.LoginRequest; import com.perforce.hwsclient.models.HWSStatus; import com.perforce.hwsclient.models.BranchesCommand; import com.perforce.hwsclient.models.BranchCommand; import com.perforce.hwsclient.models.CommandResponse; import com.perforce.hwsclient.models.ChangesCommand; import com.perforce.hwsclient.models.ChangeCommand; import com.perforce.hwsclient.models.ClientsCommand; import com.perforce.hwsclient.models.ClientCommand; import com.perforce.hwsclient.models.CommandRequest; import com.perforce.hwsclient.models.Counter; import com.perforce.hwsclient.models.DepotsCommand; import com.perforce.hwsclient.models.DepotCommand; import com.perforce.hwsclient.models.GroupsCommand; import com.perforce.hwsclient.models.GroupCommand; import com.perforce.hwsclient.models.JobsCommand; import com.perforce.hwsclient.models.JobCommand; import com.perforce.hwsclient.models.LabelsCommand; import com.perforce.hwsclient.models.LabelCommand; import com.perforce.hwsclient.models.Location; import com.perforce.hwsclient.models.Protections; import com.perforce.hwsclient.models.ServersCommand; import com.perforce.hwsclient.models.ServerCommand; import com.perforce.hwsclient.models.StreamsCommand; import com.perforce.hwsclient.models.StreamCommand; import com.perforce.hwsclient.models.Triggers; import com.perforce.hwsclient.models.UsersCommand; import com.perforce.hwsclient.models.UserCommand; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public interface DefaultApi { /** * * Sync method * The list of registered p4d servers in your cluster.\n\nThis is provided by a special set of configuration files in the system.\nFor more information, consult the Helix Web Services user guide. * @return List<P4dConfigId>} */ @GET("/config/p4ds") List<P4dConfigId> configP4dsGet(); /** * * Async method * @param cb callback method */ @GET("/config/p4ds") void configP4dsGet( Callback<List<P4dConfigId>> cb ); /** * * Sync method * Logs into Helix Web Services.\n\nThis can either be a p4d instance or Helix Cloud, depending upon the\nconfiguration of your Helix Web Services instance. * @param loginRequest The user login and password. * @return LoginResponse} */ @POST("/login") LoginResponse loginPost( @Body LoginRequest loginRequest ); /** * * Async method * @param loginRequest The user login and password. * @param cb callback method */ @POST("/login") void loginPost( @Body LoginRequest loginRequest, Callback<LoginResponse> cb ); /** * * Sync method * A simple structure to monitor for \"problems\" an admin should take care of, and, report the current application version.\n\nThis method does not require authentication. * @return HWSStatus} */ @GET("/status") HWSStatus statusGet(); /** * * Async method * @param cb callback method */ @GET("/status") void statusGet( Callback<HWSStatus> cb ); /** * * Sync method * Lists available branches in the system.\nThe resources of this list are summaries of branches in the system. * @param server The server ID that we execute this particular method against. * @return List<BranchesCommand>} */ @GET("/{server}/branches") List<BranchesCommand> serverBranchesGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/branches") void serverBranchesGet( @Path("server") String server, Callback<List<BranchesCommand>> cb ); /** * * Sync method * Creates a new branch specification, like the `p4 branch` command. * @param server The server ID that we execute this particular method against. * @param body The branch specification. * @return CommandResponse} */ @POST("/{server}/branches") CommandResponse serverBranchesPost( @Path("server") String server, @Body BranchCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param body The branch specification. * @param cb callback method */ @POST("/{server}/branches") void serverBranchesPost( @Path("server") String server, @Body BranchCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Returns the branch spec details of the particular branch. * @param server The server ID that we execute this particular method against. * @param branch The branch ID * @return BranchCommand} */ @GET("/{server}/branches/{branch}") BranchCommand serverBranchesBranchGet( @Path("server") String server, @Path("branch") String branch ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param branch The branch ID * @param cb callback method */ @GET("/{server}/branches/{branch}") void serverBranchesBranchGet( @Path("server") String server, @Path("branch") String branch, Callback<BranchCommand> cb ); /** * * Sync method * Removes the branch specification, similar to the `p4 branch -d` command. * @param server The server ID that we execute this particular method against. * @param branch The branch ID * @return CommandResponse} */ @DELETE("/{server}/branches/{branch}") CommandResponse serverBranchesBranchDelete( @Path("server") String server, @Path("branch") String branch ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param branch The branch ID * @param cb callback method */ @DELETE("/{server}/branches/{branch}") void serverBranchesBranchDelete( @Path("server") String server, @Path("branch") String branch, Callback<CommandResponse> cb ); /** * * Sync method * Update branch specifications, similar to the `p4 branch` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param branch The branch ID * @param body Fields of the branch to update * @return CommandResponse} */ @PATCH("/{server}/branches/{branch}") CommandResponse serverBranchesBranchPatch( @Path("server") String server, @Path("branch") String branch, @Body BranchCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param branch The branch ID * @param body Fields of the branch to update * @param cb callback method */ @PATCH("/{server}/branches/{branch}") void serverBranchesBranchPatch( @Path("server") String server, @Path("branch") String branch, @Body BranchCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Lists available changes in the system.\nThe resources of this list are summaries of changes in the system. * @param server The server ID that we execute this particular method against. * @param max Limit the number of change results * @param status The status of the changes, e.g., `submitted` * @param user The user's login who submitted the change * @param files Limit changes to the depot path expressions. See the link:http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_changes.html[changes] command description. * @return List<ChangesCommand>} */ @GET("/{server}/changes") List<ChangesCommand> serverChangesGet( @Path("server") String server, @Query("max") Integer max, @Query("status") String status, @Query("user") String user, @Query("files") String files ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param max Limit the number of change results * @param status The status of the changes, e.g., `submitted` * @param user The user's login who submitted the change * @param files Limit changes to the depot path expressions. See the link:http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_changes.html[changes] command description. * @param cb callback method */ @GET("/{server}/changes") void serverChangesGet( @Path("server") String server, @Query("max") Integer max, @Query("status") String status, @Query("user") String user, @Query("files") String files, Callback<List<ChangesCommand>> cb ); /** * * Sync method * Returns the change spec details of the particular change. * @param server The server ID that we execute this particular method against. * @param change The change ID * @return ChangeCommand} */ @GET("/{server}/changes/{change}") ChangeCommand serverChangesChangeGet( @Path("server") String server, @Path("change") String change ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param change The change ID * @param cb callback method */ @GET("/{server}/changes/{change}") void serverChangesChangeGet( @Path("server") String server, @Path("change") String change, Callback<ChangeCommand> cb ); /** * * Sync method * Lists available clients in the system.\nThe resources of this list are summaries of clients in the system. * @param server The server ID that we execute this particular method against. * @return List<ClientsCommand>} */ @GET("/{server}/clients") List<ClientsCommand> serverClientsGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/clients") void serverClientsGet( @Path("server") String server, Callback<List<ClientsCommand>> cb ); /** * * Sync method * Creates a new client specification, like the `p4 client` command. * @param server The server ID that we execute this particular method against. * @param client The client spec * @return CommandResponse} */ @POST("/{server}/clients") CommandResponse serverClientsPost( @Path("server") String server, @Body ClientCommand client ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param client The client spec * @param cb callback method */ @POST("/{server}/clients") void serverClientsPost( @Path("server") String server, @Body ClientCommand client, Callback<CommandResponse> cb ); /** * * Sync method * Returns the client spec details of the particular client. * @param server The server ID that we execute this particular method against. * @param client The client ID * @return ClientCommand} */ @GET("/{server}/clients/{client}") ClientCommand serverClientsClientGet( @Path("server") String server, @Path("client") String client ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param client The client ID * @param cb callback method */ @GET("/{server}/clients/{client}") void serverClientsClientGet( @Path("server") String server, @Path("client") String client, Callback<ClientCommand> cb ); /** * * Sync method * Removes the client specification, similar to the `p4 client -d` command. * @param server The server ID that we execute this particular method against. * @param client The client ID * @return CommandResponse} */ @DELETE("/{server}/clients/{client}") CommandResponse serverClientsClientDelete( @Path("server") String server, @Path("client") String client ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param client The client ID * @param cb callback method */ @DELETE("/{server}/clients/{client}") void serverClientsClientDelete( @Path("server") String server, @Path("client") String client, Callback<CommandResponse> cb ); /** * * Sync method * Update client specifications, similar to the `p4 client` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param client The client ID * @param body Fields of the client to update * @return CommandResponse} */ @PATCH("/{server}/clients/{client}") CommandResponse serverClientsClientPatch( @Path("server") String server, @Path("client") String client, @Body ClientCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param client The client ID * @param body Fields of the client to update * @param cb callback method */ @PATCH("/{server}/clients/{client}") void serverClientsClientPatch( @Path("server") String server, @Path("client") String client, @Body ClientCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Execute a Perforce command that requires no input.\nThis only allows commands that have been whitelisted on your system.\nSee the <<system_configuration>> section for details. * @param server The server ID that we execute this particular method against. * @param command The command name * @param arg Command arguments * @return CommandResponse} */ @GET("/{server}/commands/{command}") CommandResponse serverCommandsCommandGet( @Path("server") String server, @Path("command") String command, @Query("arg") List<String> arg ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param command The command name * @param arg Command arguments * @param cb callback method */ @GET("/{server}/commands/{command}") void serverCommandsCommandGet( @Path("server") String server, @Path("command") String command, @Query("arg") List<String> arg, Callback<CommandResponse> cb ); /** * * Sync method * Execute a Perforce command that accepts input, like a spec.\nThis only allows commands that have been whitelisted on your system.\nSee the <<system_configuration>> section for details. * @param server The server ID that we execute this particular method against. * @param command The command name * @param arg Command arguments * @param input A hash used as input to the command * @return CommandResponse} */ @POST("/{server}/commands/{command}") CommandResponse serverCommandsCommandPost( @Path("server") String server, @Path("command") String command, @Query("arg") List<String> arg, @Body CommandRequest input ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param command The command name * @param arg Command arguments * @param input A hash used as input to the command * @param cb callback method */ @POST("/{server}/commands/{command}") void serverCommandsCommandPost( @Path("server") String server, @Path("command") String command, @Query("arg") List<String> arg, @Body CommandRequest input, Callback<CommandResponse> cb ); /** * * Sync method * Lists available counters in the system.\nThe resources of this list are summaries of counters in the system. * @param server The server ID that we execute this particular method against. * @return List<Counter>} */ @GET("/{server}/counters") List<Counter> serverCountersGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/counters") void serverCountersGet( @Path("server") String server, Callback<List<Counter>> cb ); /** * * Sync method * Returns the counter spec details of the particular counter. * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @return Counter} */ @GET("/{server}/counters/{counter}") Counter serverCountersCounterGet( @Path("server") String server, @Path("counter") String counter ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @param cb callback method */ @GET("/{server}/counters/{counter}") void serverCountersCounterGet( @Path("server") String server, @Path("counter") String counter, Callback<Counter> cb ); /** * * Sync method * Update counter specifications, similar to the `p4 counter` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @param body Fields of the counter to update * @return CommandResponse} */ @PUT("/{server}/counters/{counter}") CommandResponse serverCountersCounterPut( @Path("server") String server, @Path("counter") String counter, @Body Counter body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @param body Fields of the counter to update * @param cb callback method */ @PUT("/{server}/counters/{counter}") void serverCountersCounterPut( @Path("server") String server, @Path("counter") String counter, @Body Counter body, Callback<CommandResponse> cb ); /** * * Sync method * Removes the counter specification, similar to the `p4 counter -d` command. * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @return CommandResponse} */ @DELETE("/{server}/counters/{counter}") CommandResponse serverCountersCounterDelete( @Path("server") String server, @Path("counter") String counter ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @param cb callback method */ @DELETE("/{server}/counters/{counter}") void serverCountersCounterDelete( @Path("server") String server, @Path("counter") String counter, Callback<CommandResponse> cb ); /** * * Sync method * Increments a numerical counter, similar to the `p4 counter -i` command. * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @return CommandResponse} */ @POST("/{server}/counters/{counter}/increment") CommandResponse serverCountersCounterIncrementPost( @Path("server") String server, @Path("counter") String counter ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param counter The counter ID * @param cb callback method */ @POST("/{server}/counters/{counter}/increment") void serverCountersCounterIncrementPost( @Path("server") String server, @Path("counter") String counter, Callback<CommandResponse> cb ); /** * * Sync method * Lists available depots in the system.\nThe resources of this list are summaries of depots in the system. * @param server The server ID that we execute this particular method against. * @return List<DepotsCommand>} */ @GET("/{server}/depots") List<DepotsCommand> serverDepotsGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/depots") void serverDepotsGet( @Path("server") String server, Callback<List<DepotsCommand>> cb ); /** * * Sync method * Creates a new depot specification, like the `p4 depot` command. * @param server The server ID that we execute this particular method against. * @param depot The depot spec * @return CommandResponse} */ @POST("/{server}/depots") CommandResponse serverDepotsPost( @Path("server") String server, @Body DepotCommand depot ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param depot The depot spec * @param cb callback method */ @POST("/{server}/depots") void serverDepotsPost( @Path("server") String server, @Body DepotCommand depot, Callback<CommandResponse> cb ); /** * * Sync method * Returns the depot spec details of the particular depot. * @param server The server ID that we execute this particular method against. * @param depot The depot ID * @return DepotCommand} */ @GET("/{server}/depots/{depot}") DepotCommand serverDepotsDepotGet( @Path("server") String server, @Path("depot") String depot ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param depot The depot ID * @param cb callback method */ @GET("/{server}/depots/{depot}") void serverDepotsDepotGet( @Path("server") String server, @Path("depot") String depot, Callback<DepotCommand> cb ); /** * * Sync method * Removes the depot specification, similar to the `p4 depot -d` command. * @param server The server ID that we execute this particular method against. * @param depot The depot ID * @return CommandResponse} */ @DELETE("/{server}/depots/{depot}") CommandResponse serverDepotsDepotDelete( @Path("server") String server, @Path("depot") String depot ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param depot The depot ID * @param cb callback method */ @DELETE("/{server}/depots/{depot}") void serverDepotsDepotDelete( @Path("server") String server, @Path("depot") String depot, Callback<CommandResponse> cb ); /** * * Sync method * Update depot specifications, similar to the `p4 depot` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param depot The depot ID * @param body Fields of the depot to update * @return CommandResponse} */ @PATCH("/{server}/depots/{depot}") CommandResponse serverDepotsDepotPatch( @Path("server") String server, @Path("depot") String depot, @Body DepotCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param depot The depot ID * @param body Fields of the depot to update * @param cb callback method */ @PATCH("/{server}/depots/{depot}") void serverDepotsDepotPatch( @Path("server") String server, @Path("depot") String depot, @Body DepotCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Lists available groups in the system.\nThe resources of this list are summaries of groups in the system. * @param server The server ID that we execute this particular method against. * @return List<GroupsCommand>} */ @GET("/{server}/groups") List<GroupsCommand> serverGroupsGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/groups") void serverGroupsGet( @Path("server") String server, Callback<List<GroupsCommand>> cb ); /** * * Sync method * Creates a new group specification, like the `p4 group` command. * @param server The server ID that we execute this particular method against. * @param body The group spec * @return CommandResponse} */ @POST("/{server}/groups") CommandResponse serverGroupsPost( @Path("server") String server, @Body GroupCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param body The group spec * @param cb callback method */ @POST("/{server}/groups") void serverGroupsPost( @Path("server") String server, @Body GroupCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Returns the group spec details of the particular group. * @param server The server ID that we execute this particular method against. * @param group The group ID * @return GroupCommand} */ @GET("/{server}/groups/{group}") GroupCommand serverGroupsGroupGet( @Path("server") String server, @Path("group") String group ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param group The group ID * @param cb callback method */ @GET("/{server}/groups/{group}") void serverGroupsGroupGet( @Path("server") String server, @Path("group") String group, Callback<GroupCommand> cb ); /** * * Sync method * Removes the group specification, similar to the `p4 group -d` command. * @param server The server ID that we execute this particular method against. * @param group The group ID * @return CommandResponse} */ @DELETE("/{server}/groups/{group}") CommandResponse serverGroupsGroupDelete( @Path("server") String server, @Path("group") String group ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param group The group ID * @param cb callback method */ @DELETE("/{server}/groups/{group}") void serverGroupsGroupDelete( @Path("server") String server, @Path("group") String group, Callback<CommandResponse> cb ); /** * * Sync method * Update group specifications, similar to the `p4 group` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param group The group ID * @param body Fields of the group to update * @return CommandResponse} */ @PATCH("/{server}/groups/{group}") CommandResponse serverGroupsGroupPatch( @Path("server") String server, @Path("group") String group, @Body GroupCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param group The group ID * @param body Fields of the group to update * @param cb callback method */ @PATCH("/{server}/groups/{group}") void serverGroupsGroupPatch( @Path("server") String server, @Path("group") String group, @Body GroupCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Lists available jobs in the system.\nThe resources of this list are summaries of jobs in the system. * @param server The server ID that we execute this particular method against. * @return List<JobsCommand>} */ @GET("/{server}/jobs") List<JobsCommand> serverJobsGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/jobs") void serverJobsGet( @Path("server") String server, Callback<List<JobsCommand>> cb ); /** * * Sync method * Creates a new job specification, like the `p4 job` command. * @param server The server ID that we execute this particular method against. * @param job The job spec * @return CommandResponse} */ @POST("/{server}/jobs") CommandResponse serverJobsPost( @Path("server") String server, @Body JobCommand job ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param job The job spec * @param cb callback method */ @POST("/{server}/jobs") void serverJobsPost( @Path("server") String server, @Body JobCommand job, Callback<CommandResponse> cb ); /** * * Sync method * Returns the job spec details of the particular job. * @param server The server ID that we execute this particular method against. * @param job The job ID * @return JobCommand} */ @GET("/{server}/jobs/{job}") JobCommand serverJobsJobGet( @Path("server") String server, @Path("job") String job ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param job The job ID * @param cb callback method */ @GET("/{server}/jobs/{job}") void serverJobsJobGet( @Path("server") String server, @Path("job") String job, Callback<JobCommand> cb ); /** * * Sync method * Removes the job specification, similar to the `p4 job -d` command. * @param server The server ID that we execute this particular method against. * @param job The job ID * @return CommandResponse} */ @DELETE("/{server}/jobs/{job}") CommandResponse serverJobsJobDelete( @Path("server") String server, @Path("job") String job ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param job The job ID * @param cb callback method */ @DELETE("/{server}/jobs/{job}") void serverJobsJobDelete( @Path("server") String server, @Path("job") String job, Callback<CommandResponse> cb ); /** * * Sync method * Update job specifications, similar to the `p4 job` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param job The job ID * @param jobCommand Fields of the job to update * @return CommandResponse} */ @PATCH("/{server}/jobs/{job}") CommandResponse serverJobsJobPatch( @Path("server") String server, @Path("job") String job, @Body JobCommand jobCommand ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param job The job ID * @param jobCommand Fields of the job to update * @param cb callback method */ @PATCH("/{server}/jobs/{job}") void serverJobsJobPatch( @Path("server") String server, @Path("job") String job, @Body JobCommand jobCommand, Callback<CommandResponse> cb ); /** * * Sync method * Adds a fix record to the job for a particular changelist. * @param server The server ID that we execute this particular method against. * @param job The job ID * @param change The change ID * @param status Specify the job status instead of using the default.\nThe default is typically `closed` or some other value defined in the `Presets` field specified in the `p4 jobspec` form.\n\nIf the changelist to which you're linking the job been submitted, the status value is immediately reflected in the job's status.\n\nIf the changelist is pending, the job status is changed on submission of the changelist, provided that the -s option is also supplied to p4 submit and the desired status appears next to the job in the p4 submit form's Jobs: field.\nTo leave a job unchanged, use the special status of same. * @return CommandResponse} */ @POST("/{server}/jobs/{job}/fixes/{change}") CommandResponse serverJobsJobFixesChangePost( @Path("server") String server, @Path("job") String job, @Path("change") String change, @Query("status") String status ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param job The job ID * @param change The change ID * @param status Specify the job status instead of using the default.\nThe default is typically `closed` or some other value defined in the `Presets` field specified in the `p4 jobspec` form.\n\nIf the changelist to which you're linking the job been submitted, the status value is immediately reflected in the job's status.\n\nIf the changelist is pending, the job status is changed on submission of the changelist, provided that the -s option is also supplied to p4 submit and the desired status appears next to the job in the p4 submit form's Jobs: field.\nTo leave a job unchanged, use the special status of same. * @param cb callback method */ @POST("/{server}/jobs/{job}/fixes/{change}") void serverJobsJobFixesChangePost( @Path("server") String server, @Path("job") String job, @Path("change") String change, @Query("status") String status, Callback<CommandResponse> cb ); /** * * Sync method * Removes the fix record association for the job for a particular changelist. * @param server The server ID that we execute this particular method against. * @param job The job ID * @param change The change ID * @return CommandResponse} */ @DELETE("/{server}/jobs/{job}/fixes/{change}") CommandResponse serverJobsJobFixesChangeDelete( @Path("server") String server, @Path("job") String job, @Path("change") String change ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param job The job ID * @param change The change ID * @param cb callback method */ @DELETE("/{server}/jobs/{job}/fixes/{change}") void serverJobsJobFixesChangeDelete( @Path("server") String server, @Path("job") String job, @Path("change") String change, Callback<CommandResponse> cb ); /** * * Sync method * Lists available labels in the system.\nThe resources of this list are summaries of labels in the system. * @param server The server ID that we execute this particular method against. * @return List<LabelsCommand>} */ @GET("/{server}/labels") List<LabelsCommand> serverLabelsGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/labels") void serverLabelsGet( @Path("server") String server, Callback<List<LabelsCommand>> cb ); /** * * Sync method * Creates a new label specification, like the `p4 label` command. * @param server The server ID that we execute this particular method against. * @param label The label spec * @return CommandResponse} */ @POST("/{server}/labels") CommandResponse serverLabelsPost( @Path("server") String server, @Body LabelCommand label ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param label The label spec * @param cb callback method */ @POST("/{server}/labels") void serverLabelsPost( @Path("server") String server, @Body LabelCommand label, Callback<CommandResponse> cb ); /** * * Sync method * Returns the label spec details of the particular label. * @param server The server ID that we execute this particular method against. * @param label The label ID * @return LabelCommand} */ @GET("/{server}/labels/{label}") LabelCommand serverLabelsLabelGet( @Path("server") String server, @Path("label") String label ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param label The label ID * @param cb callback method */ @GET("/{server}/labels/{label}") void serverLabelsLabelGet( @Path("server") String server, @Path("label") String label, Callback<LabelCommand> cb ); /** * * Sync method * Removes the label specification, similar to the `p4 label -d` command. * @param server The server ID that we execute this particular method against. * @param label The label ID * @return CommandResponse} */ @DELETE("/{server}/labels/{label}") CommandResponse serverLabelsLabelDelete( @Path("server") String server, @Path("label") String label ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param label The label ID * @param cb callback method */ @DELETE("/{server}/labels/{label}") void serverLabelsLabelDelete( @Path("server") String server, @Path("label") String label, Callback<CommandResponse> cb ); /** * * Sync method * Update label specifications, similar to the `p4 label` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param label The label ID * @param labelCommand Fields of the label to update * @return CommandResponse} */ @PATCH("/{server}/labels/{label}") CommandResponse serverLabelsLabelPatch( @Path("server") String server, @Path("label") String label, @Body LabelCommand labelCommand ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param label The label ID * @param labelCommand Fields of the label to update * @param cb callback method */ @PATCH("/{server}/labels/{label}") void serverLabelsLabelPatch( @Path("server") String server, @Path("label") String label, @Body LabelCommand labelCommand, Callback<CommandResponse> cb ); /** * * Sync method * Logs into a Helix Versioning Engine (p4d) server. * @param server The server ID that we execute this particular method against. * @param body The user login and password. * @return LoginResponse} */ @POST("/{server}/login") LoginResponse serverLoginPost( @Path("server") String server, @Body LoginRequest body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param body The user login and password. * @param cb callback method */ @POST("/{server}/login") void serverLoginPost( @Path("server") String server, @Body LoginRequest body, Callback<LoginResponse> cb ); /** * * Sync method * Lists depots, files, and directories in the system.\nThis combines the output of the `p4 depots`, `p4 dirs`, and `p4 files` commands, depending upon your path. * @param server The server ID that we execute this particular method against. * @param _path The path \"under a depot\" to query under, e.g., `//depot/main`.\nThis will list the directories and files underneath that path. * @return List<Location>} */ @GET("/{server}/paths") List<Location> serverPathsGet( @Path("server") String server, @Query("path") String _path ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param _path The path \"under a depot\" to query under, e.g., `//depot/main`.\nThis will list the directories and files underneath that path. * @param cb callback method */ @GET("/{server}/paths") void serverPathsGet( @Path("server") String server, @Query("path") String _path, Callback<List<Location>> cb ); /** * * Sync method * Returns a list of available protections in the system.\nThe elements of this list are rows of the system's protections table.\n\nThis method requires superuser access.\n\nSee the output of http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_protect.html[`p4 protect`] for more information. * @param server The server ID that we execute this particular method against. * @return Protections} */ @GET("/{server}/protections") Protections serverProtectionsGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/protections") void serverProtectionsGet( @Path("server") String server, Callback<Protections> cb ); /** * * Sync method * Updates the protections table.\n\nThis method requires superuser access. * @param server The server ID that we execute this particular method against. * @param protections The new protections table * @return CommandResponse} */ @PUT("/{server}/protections") CommandResponse serverProtectionsPut( @Path("server") String server, @Body Protections protections ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param protections The new protections table * @param cb callback method */ @PUT("/{server}/protections") void serverProtectionsPut( @Path("server") String server, @Body Protections protections, Callback<CommandResponse> cb ); /** * * Sync method * Lists available servers in the system.\nThe resources of this list are summaries of servers in the system. * @param server The server ID that we execute this particular method against. * @return List<ServersCommand>} */ @GET("/{server}/servers") List<ServersCommand> serverServersGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/servers") void serverServersGet( @Path("server") String server, Callback<List<ServersCommand>> cb ); /** * * Sync method * Creates a new server specification, like the `p4 server` command. * @param server The server ID that we execute this particular method against. * @param serverCommand The server spec * @return CommandResponse} */ @POST("/{server}/servers") CommandResponse serverServersPost( @Path("server") String server, @Body ServerCommand serverCommand ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param serverCommand The server spec * @param cb callback method */ @POST("/{server}/servers") void serverServersPost( @Path("server") String server, @Body ServerCommand serverCommand, Callback<CommandResponse> cb ); /** * * Sync method * Returns the server spec details of the particular server. * @param server The server ID that we execute this particular method against. * @param serverId The server ID of the server spec * @return ServerCommand} */ @GET("/{server}/servers/{serverId}") ServerCommand serverServersServerIdGet( @Path("server") String server, @Path("serverId") String serverId ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param serverId The server ID of the server spec * @param cb callback method */ @GET("/{server}/servers/{serverId}") void serverServersServerIdGet( @Path("server") String server, @Path("serverId") String serverId, Callback<ServerCommand> cb ); /** * * Sync method * Removes the server specification, similar to the `p4 server -d` command. * @param server The server ID that we execute this particular method against. * @param serverId The server ID * @return CommandResponse} */ @DELETE("/{server}/servers/{serverId}") CommandResponse serverServersServerIdDelete( @Path("server") String server, @Path("serverId") String serverId ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param serverId The server ID * @param cb callback method */ @DELETE("/{server}/servers/{serverId}") void serverServersServerIdDelete( @Path("server") String server, @Path("serverId") String serverId, Callback<CommandResponse> cb ); /** * * Sync method * Update server specifications, similar to the `p4 server` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param serverId The server ID * @param serverCommand Fields of the server to update * @return CommandResponse} */ @PATCH("/{server}/servers/{serverId}") CommandResponse serverServersServerIdPatch( @Path("server") String server, @Path("serverId") String serverId, @Body ServerCommand serverCommand ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param serverId The server ID * @param serverCommand Fields of the server to update * @param cb callback method */ @PATCH("/{server}/servers/{serverId}") void serverServersServerIdPatch( @Path("server") String server, @Path("serverId") String serverId, @Body ServerCommand serverCommand, Callback<CommandResponse> cb ); /** * * Sync method * Lists available streams in the system.\nThe resources of this list are summaries of streams in the system. * @param server The server ID that we execute this particular method against. * @return List<StreamsCommand>} */ @GET("/{server}/streams") List<StreamsCommand> serverStreamsGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/streams") void serverStreamsGet( @Path("server") String server, Callback<List<StreamsCommand>> cb ); /** * * Sync method * Creates a new stream specification, like the `p4 stream` command. * @param server The server ID that we execute this particular method against. * @param body The stream spec * @return CommandResponse} */ @POST("/{server}/streams") CommandResponse serverStreamsPost( @Path("server") String server, @Body StreamCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param body The stream spec * @param cb callback method */ @POST("/{server}/streams") void serverStreamsPost( @Path("server") String server, @Body StreamCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Returns the stream spec details of the particular stream. * @param server The server ID that we execute this particular method against. * @param stream The stream ID * @return StreamCommand} */ @GET("/{server}/streams/stream") StreamCommand serverStreamsStreamGet( @Path("server") String server, @Query("stream") String stream ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param stream The stream ID * @param cb callback method */ @GET("/{server}/streams/stream") void serverStreamsStreamGet( @Path("server") String server, @Query("stream") String stream, Callback<StreamCommand> cb ); /** * * Sync method * Removes the stream specification, similar to the `p4 stream -d` command. * @param server The server ID that we execute this particular method against. * @param stream The stream ID * @return CommandResponse} */ @DELETE("/{server}/streams/stream") CommandResponse serverStreamsStreamDelete( @Path("server") String server, @Query("stream") String stream ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param stream The stream ID * @param cb callback method */ @DELETE("/{server}/streams/stream") void serverStreamsStreamDelete( @Path("server") String server, @Query("stream") String stream, Callback<CommandResponse> cb ); /** * * Sync method * Update stream specifications, similar to the `p4 stream` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param stream The stream ID * @param body Fields of the stream to update * @return CommandResponse} */ @PATCH("/{server}/streams/stream") CommandResponse serverStreamsStreamPatch( @Path("server") String server, @Query("stream") String stream, @Body StreamCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param stream The stream ID * @param body Fields of the stream to update * @param cb callback method */ @PATCH("/{server}/streams/stream") void serverStreamsStreamPatch( @Path("server") String server, @Query("stream") String stream, @Body StreamCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Returns a list of available triggers in the system.\nThe elements of this list are rows of the system's triggers table.\n\nThis method requires superuser access. * @param server The server ID that we execute this particular method against. * @return Triggers} */ @GET("/{server}/triggers") Triggers serverTriggersGet( @Path("server") String server ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param cb callback method */ @GET("/{server}/triggers") void serverTriggersGet( @Path("server") String server, Callback<Triggers> cb ); /** * * Sync method * Updates the triggers table.\n\nThis method requires superuser access. * @param server The server ID that we execute this particular method against. * @param triggers The new triggers table * @return CommandResponse} */ @PUT("/{server}/triggers") CommandResponse serverTriggersPut( @Path("server") String server, @Body Triggers triggers ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param triggers The new triggers table * @param cb callback method */ @PUT("/{server}/triggers") void serverTriggersPut( @Path("server") String server, @Body Triggers triggers, Callback<CommandResponse> cb ); /** * * Sync method * Lists available users in the system.\nThe resources of this list are summaries of users in the system. * @param server The server ID that we execute this particular method against. * @param includeService If true, shows service users in the list. * @param max Cap the number of users reported to this amount. * @return List<UsersCommand>} */ @GET("/{server}/users") List<UsersCommand> serverUsersGet( @Path("server") String server, @Query("includeService") Boolean includeService, @Query("max") Integer max ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param includeService If true, shows service users in the list. * @param max Cap the number of users reported to this amount. * @param cb callback method */ @GET("/{server}/users") void serverUsersGet( @Path("server") String server, @Query("includeService") Boolean includeService, @Query("max") Integer max, Callback<List<UsersCommand>> cb ); /** * * Sync method * Creates a new user specification, like the `p4 user` command. * @param server The server ID that we execute this particular method against. * @param body The user spec * @return CommandResponse} */ @POST("/{server}/users") CommandResponse serverUsersPost( @Path("server") String server, @Body UserCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param body The user spec * @param cb callback method */ @POST("/{server}/users") void serverUsersPost( @Path("server") String server, @Body UserCommand body, Callback<CommandResponse> cb ); /** * * Sync method * Returns the user spec details of the particular user. * @param server The server ID that we execute this particular method against. * @param user The user ID * @return UserCommand} */ @GET("/{server}/users/{user}") UserCommand serverUsersUserGet( @Path("server") String server, @Path("user") String user ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param user The user ID * @param cb callback method */ @GET("/{server}/users/{user}") void serverUsersUserGet( @Path("server") String server, @Path("user") String user, Callback<UserCommand> cb ); /** * * Sync method * Removes the user specification, similar to the `p4 user -d` command. * @param server The server ID that we execute this particular method against. * @param user The user ID * @return CommandResponse} */ @DELETE("/{server}/users/{user}") CommandResponse serverUsersUserDelete( @Path("server") String server, @Path("user") String user ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param user The user ID * @param cb callback method */ @DELETE("/{server}/users/{user}") void serverUsersUserDelete( @Path("server") String server, @Path("user") String user, Callback<CommandResponse> cb ); /** * * Sync method * Update user specifications, similar to the `p4 user` command.\nOnly the specified parameters in the body will be changed. * @param server The server ID that we execute this particular method against. * @param user The user ID * @param body Fields of the user to update * @return CommandResponse} */ @PATCH("/{server}/users/{user}") CommandResponse serverUsersUserPatch( @Path("server") String server, @Path("user") String user, @Body UserCommand body ); /** * * Async method * @param server The server ID that we execute this particular method against. * @param user The user ID * @param body Fields of the user to update * @param cb callback method */ @PATCH("/{server}/users/{user}") void serverUsersUserPatch( @Path("server") String server, @Path("user") String user, @Body UserCommand body, Callback<CommandResponse> cb ); }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#6 | 19734 | swellard | Login - docs and tweak to server login api | ||
#5 | 19725 | swellard | Remove the need to pass LoginRequest to login call | ||
#4 | 19642 | swellard | Swagger code gen change method names | ||
#3 | 19611 | swellard | Refactor REST path - make version namespace specific | ||
#2 | 19597 | swellard | Refactor REST path | ||
#1 | 19553 | swellard | Move and rename clients | ||
//guest/perforce_software/helix-web-services/main/source/clients/2016.1.0/java/src/main/java/com/perforce/hwsclient/DefaultApi.java | |||||
#1 | 19535 | drobins | Refactor package names to hws | ||
//guest/perforce_software/helix-web-services/main/source/clients/2016.1.0/java/src/main/java/com/perforce/helix_web_services_client/DefaultApi.java | |||||
#9 | 19202 | tjuricek | Revised documentation for the Ruby Client SDK; removed obsolete methods and definitions, and restyled a lot of the tables. | ||
#8 | 19169 | tjuricek | JavaScript Client SDK jobs CRUD test, with supprt for "additionalProperties" in the swagger definition. | ||
#7 | 19098 | tjuricek |
JavaScript Client SDK labels spec CRUD tests. Identified another parameter naming conflict, which only pops up in the javaScript client because I didn't choose to automatically rename parameters for people. (I don't think it's a good idea to just say "label0", "label1", etc., especially when they're different types.) |
||
#6 | 19002 | tjuricek |
Improve API to interact with multiple p4ds. The configuration now requires an explicit setting of what P4Ds HWS can talk to via the 'P4D config dir', where there's a file indicating connection settings per p4d, and importantly, an ID. This is the "server ID" referenced everywhere. Most methods now require a server ID to indicate which p4d to manipulate. In the future, it's likely we will interact with *multiple* p4d instances on some services. This completely removes the ability to run HWS as a kind of an "open proxy" to whatever p4d you want. Given the nature of the change and the lack of priority, we've removed Helix Cloud testing and disabled several methods from their "Helix Cloud" implementation. These will be relatively easy to bring back, we'll just need a new method from Raymond that lists the "allowed server IDs" that map to the HWS configured server IDs for a particular user. Another notable aspect of this change is the use of JSON Web Token to create our authentication key. We associate this key with an in-memory "session" that contains the P4D tickets we use to authenticate users. The JWT token, by default, is assigned a timeout, which allows HWS to block further access to underlying servers without having to interact with multiple auth backends. If any backend fails with that session, the user will get a 403. If you disable the timeout, you'll need to ensure your clients clear out sessions. |
||
#5 | 18879 | tjuricek |
Add '-m' and '-a' filtering options on user list. Also, the Ruby client SDK needed to override the .gemspec template. |
||
#4 | 18850 | tjuricek | Add the ability to fix jobs in the web API, which we can use to verify the jobs association with changelists. | ||
#3 | 18803 | tjuricek |
Allow for a simple "p4d configuration" mechanism to setup a way for multiple p4ds to be used without having to provide settings like P4PORT, etc via headers. Right now, you'd set P4DCONFIGDIR to a local directory, and the provide a P4DID either as a default in the configuration or via a header. I didn't include it in the path or query parameters, because then it would have been required by clients on *every method call* which seemed like the wrong approach. Most clients will interop primarily with a single server, so creating a client object per server didn't seem ridiculous. |
||
#2 | 18802 | tjuricek | Rename '/listing' to '/paths', to sound more resource-centric. | ||
#1 | 18795 | tjuricek | Use point-release versioning for the client SDKs and installers. | ||
//guest/perforce_software/helix-web-services/main/source/clients/2016.1/java/src/main/java/com/perforce/helix_web_services_client/DefaultApi.java | |||||
#15 | 18768 | tjuricek | Convert depot-related methods, and change the "listing" resource to a "paths" resource, and maybe help simplify the Location concept. | ||
#14 | 18766 | tjuricek | Convert trigger-related models. | ||
#13 | 18765 | tjuricek | Convert stream-related models | ||
#12 | 18757 | tjuricek | Convert server-related models. | ||
#11 | 18746 | tjuricek | Convert protections-related models, along with updating documentation around login and projects. | ||
#10 | 18738 | tjuricek | Convert label-related models. | ||
#9 | 18732 | tjuricek | Convert job-related models. | ||
#8 | 18727 | tjuricek | Convert the status method to be part of the documented API, and convert the login-related models. | ||
#7 | 18726 | tjuricek |
Revise group models to mirror command output. I noticed the property capitalization wasn't following conventions for users, so I changed that here as well. |
||
#6 | 18722 | tjuricek | Convert user-related models to be command-oriented. | ||
#5 | 18713 | tjuricek | Converted counter related models. | ||
#4 | 18712 | tjuricek | Converted client-related command models. | ||
#3 | 18710 | tjuricek |
Convert change-related command models to our client API models, also, complete the "alpha" tagging of methods. This consolidates models related to creating changelists to come from the Java client SDK version. We are now tagging various methods as "alpha" to signify they may break in upcoming versions. This allows new features to have a period where they can be available, but not necessarily need to be supported in upcoming releases. |
||
#2 | 18700 | tjuricek |
Convert branch-related models, which includes CommandResponse, and framework for doing model conversion to/from our P4Java input maps. Dates are fun. Those are now being converted using the "tzoffset" from the server query. |
||
#1 | 18679 | tjuricek |
Revising HWS paths to work primarily at product version 2016.1. The swagger definitions will primarily work at a major platform release number. We will generate new clients for each major release, and ensure backwards compatibility as time goes on by keeping the older clients around in the tree. Note: These are JUST URLs, and do not include other revisions we plan on making shortly. |