ArchAstro. V1. Tasks. Blockers
(archastro v0.2.0)
Copy Markdown
Blocker API resource.
Summary
Functions
Mark a task as blocked by another task
Remove a blocker from a task
List a task's blockers
Functions
@spec create( ArchAstro.Client.t(), String.t(), ArchAstro.Types.Operations.PostApiV1TasksTaskBlockers.Input.t() ) :: {:ok, ArchAstro.Types.Task.t()} | {:error, ArchAstro.Error.reason()}
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.
@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.
@spec list( ArchAstro.Client.t(), String.t(), ArchAstro.Types.Operations.GetApiV1TasksTaskBlockers.Params.t() ) :: {:ok, ArchAstro.Types.Operations.GetApiV1TasksTaskBlockers.Response.t()} | {:error, ArchAstro.Error.reason()}
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