ArchAstro.V1.Tasks.Blockers (archastro v0.2.0)

Copy Markdown

Blocker API resource.

Summary

Functions

create(client, task, input)

Mark a task as blocked by another task

Records that the task in blocker blocks the specified task and returns the updated task. Blocking is informational — the blocked task can still change status — and derived at read time, so the task stops reporting is_blocked as soon as every blocker is done. The blocker must belong to the same owner (team or user) as the task; self-blocking and blocking a task that already blocks the blocker (a direct cycle) are rejected.

The updated (blocked) task.

delete(client, task, blocker)

@spec delete(ArchAstro.Client.t(), String.t(), String.t()) ::
  {:ok, :ok} | {:error, ArchAstro.Error.reason()}

Remove a blocker from a task

Removes the blocking relationship between the task in blocker and the specified task. Returns 204 No Content on success, or 404 if the given task is not currently marked as blocking this task.

Empty response body. HTTP 204 No Content on success.

list(client, task, params \\ %ArchAstro.Types.Operations.GetApiV1TasksTaskBlockers.Params{})

List a task's blockers

Returns a bounded page of the tasks currently marked as blocking the specified task, newest first. Blocking is informational: a blocked task can still change status, and it stops counting as blocked as soon as every blocker is done. The task's owner is resolved from the task itself.

Successful response