Package com.xebialabs.xlrelease.api.v1
Interface TaskApi
-
- All Superinterfaces:
ApiService
@Path("/api/v1/tasks/") @Consumes("application/json") @Produces("application/json") public interface TaskApi extends ApiServiceOperations on tasks.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSERVICE_NAME-
Fields inherited from interface com.xebialabs.xlrelease.api.ApiService
DEFAULT_RESULTS_PER_PAGE, DEFAULT_RESULTS_PER_PAGE_STRING, DEPTH, ORDER_BY, PAGE, PAGE_IS_OFFSET, RESULTS_PER_PAGE, ROLE_IDS_DATA
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description com.xebialabs.xlrelease.domain.TaskabortTask(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Aborts a task.com.xebialabs.xlrelease.domain.TaskabortTask(java.lang.String taskId, java.lang.String comment)Aborts a task.com.xebialabs.xlrelease.domain.AttachmentaddAttachment(java.lang.String taskId, java.lang.String fileName, byte[] fileByteArray)Adds one attachment files to a task.java.util.List<com.xebialabs.xlrelease.domain.Attachment>addAttachments(java.lang.String taskId, javax.servlet.http.HttpServletRequest request)Adds one or more attachment files to a task, serialized in XLR format.com.xebialabs.xlrelease.domain.GateConditionaddCondition(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Condition condition)Adds a condition to a gate task.com.xebialabs.xlrelease.domain.DependencyaddDependency(java.lang.String taskId, java.lang.String targetId)Adds a dependency to a gate task.com.xebialabs.xlrelease.domain.TaskaddTask(java.lang.String containerId, com.xebialabs.xlrelease.domain.Task task)Adds a task to a phase or a container task.com.xebialabs.xlrelease.domain.TaskaddTask(java.lang.String containerId, com.xebialabs.xlrelease.domain.Task task, java.lang.Integer position)Adds a task to a phase or a container task.com.xebialabs.xlrelease.domain.TaskassignTask(java.lang.String taskId, java.lang.String username)Assigns a task to a user.com.xebialabs.xlrelease.domain.TaskchangeTaskType(java.lang.String taskId, java.lang.String targetType)Changes a task type to the target type.com.xebialabs.xlrelease.domain.TaskcommentTask(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Adds a comment to a task.com.xebialabs.xlrelease.domain.TaskcommentTask(java.lang.String taskId, java.lang.String comment)Adds a comment to a task.com.xebialabs.xlrelease.domain.TaskcompleteTask(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Completes a task.com.xebialabs.xlrelease.domain.TaskcompleteTask(java.lang.String taskId, java.lang.String comment)Completes a task.com.xebialabs.xlrelease.domain.TaskcopyTask(java.lang.String taskId, java.lang.String targetContainerId, int targetPosition)Copy a taskvoiddelete(java.lang.String taskId)Deletes a task.voiddeleteAttachment(java.lang.String taskId, java.lang.String attachmentId)Deletes an attachment from a task.voiddeleteCondition(java.lang.String conditionId)Deletes a condition from a gate task.voiddeleteDependency(java.lang.String dependencyId)Deletes a dependency from a gate task.com.xebialabs.xlrelease.domain.TaskfailTask(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Fails a task.com.xebialabs.xlrelease.domain.TaskfailTask(java.lang.String taskId, java.lang.String comment)Fails a task.com.xebialabs.xlrelease.domain.TaskgetTask(java.lang.String taskId)Returns a task by ID.java.util.List<com.xebialabs.xlrelease.domain.variables.Variable>getVariables(java.lang.String taskId)Return the variables used by the task input fields.voidlockTask(java.lang.String taskId)Locks a task.com.xebialabs.xlrelease.api.v1.forms.CommentnewComment(java.lang.String commentText)Factory method to create a new instance of a Comment.com.xebialabs.xlrelease.domain.TasknewTask()Factory method to create a new instance of a Manual Task.com.xebialabs.xlrelease.domain.TasknewTask(java.lang.String type)Factory method to create a new instance of a Task object.com.xebialabs.xlrelease.domain.TaskreopenTask(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Reopen a task that has been completed in advance.com.xebialabs.xlrelease.domain.TaskreopenTask(java.lang.String taskId, java.lang.String comment)Reopen a task that has been completed in advance.com.xebialabs.xlrelease.domain.TaskretryTask(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Retry failed task.com.xebialabs.xlrelease.domain.TaskretryTask(java.lang.String taskId, java.lang.String comment)Retry failed task.java.util.List<com.xebialabs.xlrelease.domain.Task>searchTasksByTitle(java.lang.String taskTitle, java.lang.String phaseTitle, java.lang.String releaseId)Search tasks by title within a release.default java.lang.StringserviceName()com.xebialabs.xlrelease.domain.TaskskipTask(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Skips a task.com.xebialabs.xlrelease.domain.TaskskipTask(java.lang.String taskId, java.lang.String comment)Skips a task.com.xebialabs.xlrelease.domain.Taskstart(com.xebialabs.xlrelease.domain.Task task, java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variables)Starts a task that is waiting for input.com.xebialabs.xlrelease.domain.Taskstart(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Start pending task.com.xebialabs.xlrelease.domain.Taskstart(java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.StartTask startTask)Starts a task that is waiting for input.com.xebialabs.xlrelease.domain.Taskstart(java.lang.String taskId, java.lang.String comment)Start pending task.voidunlockTask(java.lang.String taskId)Unlocks a task.com.xebialabs.xlrelease.domain.GateConditionupdateCondition(com.xebialabs.xlrelease.domain.GateCondition condition)Updates a condition on a gate task.com.xebialabs.xlrelease.domain.GateConditionupdateCondition(java.lang.String conditionId, com.xebialabs.xlrelease.api.v1.forms.Condition condition)Updates a condition on a gate task.java.util.List<com.xebialabs.xlrelease.domain.variables.Variable>updateInputVariables(java.lang.String taskId, java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variables)Updates the variables values of a UserInputTask It doesn't remove or add new variablescom.xebialabs.xlrelease.domain.TaskupdateTask(com.xebialabs.xlrelease.domain.Task task)Updates a task.com.xebialabs.xlrelease.domain.TaskupdateTask(java.lang.String taskId, com.xebialabs.xlrelease.domain.Task task)Updates a task.com.xebialabs.xlrelease.domain.TaskupdateTask(java.lang.String taskId, com.xebialabs.xlrelease.domain.Task task, boolean overrideLock)Updates a task.
-
-
-
Field Detail
-
SERVICE_NAME
static final java.lang.String SERVICE_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
serviceName
default java.lang.String serviceName()
- Specified by:
serviceNamein interfaceApiService
-
addAttachments
@POST @Path("{taskId:.*/Task[^/]*}/attachments") @Consumes("multipart/form-data") java.util.List<com.xebialabs.xlrelease.domain.Attachment> addAttachments(@PathParam("taskId") java.lang.String taskId, @Context javax.servlet.http.HttpServletRequest request) throws java.io.IOExceptionAdds one or more attachment files to a task, serialized in XLR format.- Parameters:
taskId- the task identifier.request- multipart/form-data request with attachment file.- Returns:
- the domain objects of the uploaded attachments.
- Throws:
java.io.IOException
-
addAttachment
com.xebialabs.xlrelease.domain.Attachment addAttachment(java.lang.String taskId, java.lang.String fileName, byte[] fileByteArray) throws java.io.IOExceptionAdds one attachment files to a task.- Throws:
java.io.IOException
-
deleteAttachment
@DELETE @Path("{taskId:.*/Task[^/]*}/attachments/{attachmentId:.*/Attachment[^/]*}") void deleteAttachment(@PathParam("taskId") java.lang.String taskId, @PathParam("attachmentId") java.lang.String attachmentId)Deletes an attachment from a task.- Parameters:
taskId- the task identifier.attachmentId- the attachment identifier.
-
getTask
@GET @Path("/{taskId:.*/Task[^/]*}") com.xebialabs.xlrelease.domain.Task getTask(@PathParam("taskId") java.lang.String taskId)Returns a task by ID.- Parameters:
taskId- the task identifier- Returns:
- the task which has the given identifier.
-
copyTask
@POST @Path("{taskId:.*/Task[^/]*}/copy") com.xebialabs.xlrelease.domain.Task copyTask(@PathParam("taskId") java.lang.String taskId, @QueryParam("targetContainerId") java.lang.String targetContainerId, @QueryParam("targetPosition") int targetPosition)Copy a task- Parameters:
taskId- the task identifier.targetContainerId- identifier of the target task container.targetPosition- the position where to copy the task to. Cannot be< 0and alsonot >= container.size()- Returns:
- the copy of the task
-
updateTask
com.xebialabs.xlrelease.domain.Task updateTask(com.xebialabs.xlrelease.domain.Task task)
Updates a task.- Parameters:
task- new contents of the task.- Returns:
- the updated task.
-
updateTask
@PUT @Path("/{taskId:.*/Task[^/]*}") com.xebialabs.xlrelease.domain.Task updateTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.domain.Task task)Updates a task.- Parameters:
taskId- the task identifier.task- new contents of the task.- Returns:
- the updated task.
-
updateTask
com.xebialabs.xlrelease.domain.Task updateTask(java.lang.String taskId, com.xebialabs.xlrelease.domain.Task task, boolean overrideLock)Updates a task.- Parameters:
taskId- the task identifier.task- new contents of the task.overrideLock- enables override of locked task.- Returns:
- the updated task.
-
changeTaskType
@POST @Path("{taskId:.*/Task[^/]*}/changeType") com.xebialabs.xlrelease.domain.Task changeTaskType(@PathParam("taskId") java.lang.String taskId, @QueryParam("targetType") java.lang.String targetType)Changes a task type to the target type. Target type can be one of core task types such as "xlrelease.GateTask" or a custom script definition type, such as "jenkins.Build".- Parameters:
taskId- the identifier of the task.targetType- the new task type.- Returns:
- task with new type.
-
addTask
@POST @Path("/{containerId:.*?}/tasks") com.xebialabs.xlrelease.domain.Task addTask(@PathParam("containerId") java.lang.String containerId, com.xebialabs.xlrelease.domain.Task task)Adds a task to a phase or a container task.- Parameters:
containerId- the identifier of the task container: either aPhase, aParallelGroupor aSequentialGroup.task- the task to add.- Returns:
- the added task.
-
addTask
@POST @Path("/{containerId:.*?}/tasks") com.xebialabs.xlrelease.domain.Task addTask(@PathParam("containerId") java.lang.String containerId, com.xebialabs.xlrelease.domain.Task task, java.lang.Integer position)Adds a task to a phase or a container task.- Parameters:
containerId- the identifier of the task container: either aPhase, aParallelGroupor aSequentialGroup.task- the task to add.position- the position at which the task will be added.- Returns:
- the added task.
-
completeTask
@POST @Path("/{taskId:.*/Task[^/]*}/complete") com.xebialabs.xlrelease.domain.Task completeTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Completes a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'complete' action.- Returns:
- the updated task.
-
completeTask
com.xebialabs.xlrelease.domain.Task completeTask(java.lang.String taskId, java.lang.String comment)Completes a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'complete' action.- Returns:
- the updated task.
-
skipTask
@POST @Path("/{taskId:.*/Task[^/]*}/skip") com.xebialabs.xlrelease.domain.Task skipTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Skips a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'skip' action.- Returns:
- the updated task.
-
skipTask
com.xebialabs.xlrelease.domain.Task skipTask(java.lang.String taskId, java.lang.String comment)Skips a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'skip' action.- Returns:
- the updated task.
-
failTask
@POST @Path("/{taskId:.*/Task[^/]*}/fail") com.xebialabs.xlrelease.domain.Task failTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Fails a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'fail' action.- Returns:
- the updated task.
-
failTask
com.xebialabs.xlrelease.domain.Task failTask(java.lang.String taskId, java.lang.String comment)Fails a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'fail' action.- Returns:
- the updated task.
-
abortTask
@POST @Path("/{taskId:.*/Task[^/]*}/abort") com.xebialabs.xlrelease.domain.Task abortTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Aborts a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'abort' action.- Returns:
- the updated task.
-
abortTask
com.xebialabs.xlrelease.domain.Task abortTask(java.lang.String taskId, java.lang.String comment)Aborts a task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'abort' action.- Returns:
- the updated task.
-
retryTask
@POST @Path("/{taskId:.*/Task[^/]*}/retry") com.xebialabs.xlrelease.domain.Task retryTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Retry failed task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'retry' action.- Returns:
- the updated task.
-
retryTask
com.xebialabs.xlrelease.domain.Task retryTask(java.lang.String taskId, java.lang.String comment)Retry failed task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'retry' action.- Returns:
- the updated task.
-
start
@POST @Path("/{taskId:.*/Task[^/]*}/startNow") com.xebialabs.xlrelease.domain.Task start(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Start pending task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'startNow' action.- Returns:
- the updated task.
-
start
com.xebialabs.xlrelease.domain.Task start(java.lang.String taskId, java.lang.String comment)Start pending task.- Parameters:
taskId- the task identifier.comment- a comment describing the 'startNow' action.- Returns:
- the updated task.
-
start
com.xebialabs.xlrelease.domain.Task start(com.xebialabs.xlrelease.domain.Task task, java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variables)Starts a task that is waiting for input.- Parameters:
task- the task to be started.variables- the input variables required to start a task.- Returns:
- the updated task.
-
start
@POST @Path("/{taskId:.*/Task[^/]*}/start") com.xebialabs.xlrelease.domain.Task start(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.StartTask startTask)Starts a task that is waiting for input.- Parameters:
taskId- the task identifier.startTask- the object with parameters required to start a task, e.g. variables.- Returns:
- the updated task.
-
reopenTask
@POST @Path("/{taskId:.*/Task[^/]*}/reopen") com.xebialabs.xlrelease.domain.Task reopenTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Reopen a task that has been completed in advance.- Parameters:
taskId- the task identifier.comment- a comment describing the 'reopen' action.- Returns:
- the updated task.
-
reopenTask
com.xebialabs.xlrelease.domain.Task reopenTask(java.lang.String taskId, java.lang.String comment)Reopen a task that has been completed in advance.- Parameters:
taskId- the task identifier.comment- a comment describing the 'reopen' action.- Returns:
- the updated task.
-
getVariables
@GET @Path("/{taskId:.*/Task[^/]*}/variables") java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> getVariables(@PathParam("taskId") java.lang.String taskId)Return the variables used by the task input fields.- Parameters:
taskId- the task identifier.- Returns:
- input variables used by the task.
-
updateInputVariables
@PUT @Path("/{taskId:.*/Task[^/]*}/variables") java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> updateInputVariables(@PathParam("taskId") java.lang.String taskId, java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variables)Updates the variables values of a UserInputTask It doesn't remove or add new variables- Parameters:
taskId- the task identifier.variables- the variables with values to be updated.- Returns:
- the updated variables.
-
commentTask
@POST @Path("/{taskId:.*/Task[^/]*}/comment") com.xebialabs.xlrelease.domain.Task commentTask(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Comment comment)Adds a comment to a task.- Parameters:
taskId- the task identifier.comment- the comment text to be added to the task.- Returns:
- the updated task.
-
commentTask
com.xebialabs.xlrelease.domain.Task commentTask(java.lang.String taskId, java.lang.String comment)Adds a comment to a task.- Parameters:
taskId- the task identifier.comment- the comment text to be added to the task.- Returns:
- the updated task.
-
assignTask
@POST @Path("/{taskId:.*/Task[^/]*}/assign/{username: .*?}") com.xebialabs.xlrelease.domain.Task assignTask(@PathParam("taskId") java.lang.String taskId, @PathParam("username") java.lang.String username)Assigns a task to a user.- Parameters:
taskId- the task identifier.username- the username of the user the task will be assigned to.- Returns:
- the updated task.
-
searchTasksByTitle
@GET @Path("/byTitle") java.util.List<com.xebialabs.xlrelease.domain.Task> searchTasksByTitle(@QueryParam("taskTitle") java.lang.String taskTitle, @QueryParam("phaseTitle") java.lang.String phaseTitle, @QueryParam("releaseId") java.lang.String releaseId)Search tasks by title within a release.- Parameters:
taskTitle- the task title.phaseTitle- the phase title (optional).releaseId- the release identifier.- Returns:
- a List of tasks that match the title within the release.
-
newTask
com.xebialabs.xlrelease.domain.Task newTask()
Factory method to create a new instance of a Manual Task.- Returns:
- the task object.
-
newTask
com.xebialabs.xlrelease.domain.Task newTask(java.lang.String type)
Factory method to create a new instance of a Task object.Example script which adds a custom script task to the current phase:
phase = getCurrentPhase() task = taskApi.newTask("xlrelease.GateTask") task.title = "My Gate Task" taskApi.addTask(phase.id, task)- Parameters:
type- the type of the task. For example:xlrelease.GateTask.- Returns:
- the task object.
-
newComment
com.xebialabs.xlrelease.api.v1.forms.Comment newComment(java.lang.String commentText)
Factory method to create a new instance of a Comment.- Parameters:
commentText- comment text- Returns:
- the comment object.
-
delete
@DELETE @Path("/{taskId:.*/Task[^/]*}") void delete(@PathParam("taskId") java.lang.String taskId)Deletes a task.- Parameters:
taskId- the task identifier.
-
deleteDependency
@DELETE @Path("/{dependencyId:.*/Dependency[^/]*}") void deleteDependency(@PathParam("dependencyId") java.lang.String dependencyId)Deletes a dependency from a gate task.- Parameters:
dependencyId- the identifier of the gate task dependency.
-
addDependency
@POST @Path("/{taskId:.*/Task[^/]*}/dependencies/{targetId:.*?}") com.xebialabs.xlrelease.domain.Dependency addDependency(@PathParam("taskId") java.lang.String taskId, @PathParam("targetId") java.lang.String targetId)Adds a dependency to a gate task.- Parameters:
taskId- the identifier of the gate task to add the dependency to.targetId- the identifier of the release, phase or task that the gate will depend on, or a variable which will resolve to such an identifier. When using a variable you can also combine variables, for example "Applications/${shortReleaseId}"- Returns:
- the added Dependency
-
addCondition
@POST @Path("{taskId:.*/Task[^/]*}/conditions") com.xebialabs.xlrelease.domain.GateCondition addCondition(@PathParam("taskId") java.lang.String taskId, com.xebialabs.xlrelease.api.v1.forms.Condition condition)Adds a condition to a gate task.- Parameters:
taskId- the identifier of the gate task to add the condition to.condition- the condition to add.- Returns:
- the added gate condition.
-
updateCondition
@POST @Path("/{conditionId:.*/GateCondition[^/]*}") com.xebialabs.xlrelease.domain.GateCondition updateCondition(@PathParam("conditionId") java.lang.String conditionId, com.xebialabs.xlrelease.api.v1.forms.Condition condition)Updates a condition on a gate task. Use this method to (un)check the condition.- Parameters:
conditionId- the identifier of the gate task condition.condition- the new values of the condition.- Returns:
- the updated gate condition.
-
updateCondition
com.xebialabs.xlrelease.domain.GateCondition updateCondition(com.xebialabs.xlrelease.domain.GateCondition condition)
Updates a condition on a gate task. Use this method to (un)check the condition.- Parameters:
condition- the new values of the condition.- Returns:
- the updated gate condition.
-
deleteCondition
@DELETE @Path("{conditionId:.*/GateCondition[^/]*?}") void deleteCondition(@PathParam("conditionId") java.lang.String conditionId)Deletes a condition from a gate task.- Parameters:
conditionId- the identifier of the gate task condition.
-
lockTask
@PUT @Path("{taskId:.*/Task[^/]*}/lock") void lockTask(@PathParam("taskId") java.lang.String taskId)Locks a task.- Parameters:
taskId- the task identifier.
-
unlockTask
@DELETE @Path("{taskId:.*/Task[^/]*}/lock") void unlockTask(@PathParam("taskId") java.lang.String taskId)Unlocks a task.- Parameters:
taskId- the task identifier.
-
-