View Source ExPipedrive.Tasks (ex_pipedrive v0.2.0)
Pipedrive tasks resource — action items associated with projects.
API v2 only (OpenAPI tag Tasks, beta). Supports cursor-paginated list,
get, create, update, and delete against /api/v2/tasks.
Example
{:ok, page} = ExPipedrive.Tasks.list_page(client, project_id: 1)
{:ok, task} = ExPipedrive.Tasks.get(client, 1)
{:ok, task} =
ExPipedrive.Tasks.create(client, %{
title: "Ship v0.3",
project_id: 1,
assignee_ids: [2]
})
{:ok, task} = ExPipedrive.Tasks.update(client, task.id, %{done: 1})
{:ok, :ok} = ExPipedrive.Tasks.delete(client, task.id)
Summary
Functions
Creates a task via POST /api/v2/tasks.
Marks a task as deleted via DELETE /api/v2/tasks/:id.
Fetches a task by id via GET /api/v2/tasks/:id.
Lists one page of tasks via GET /api/v2/tasks.
Lazily streams tasks across v2 cursor pages.
Updates a task via PATCH /api/v2/tasks/:id.
Functions
@spec create(Tesla.Client.t(), map()) :: {:ok, ExPipedrive.Task.t()} | {:error, ExPipedrive.Error.t()}
Creates a task via POST /api/v2/tasks.
Requires :title and :project_id. Returns {:ok, %Task{}}.
@spec delete(Tesla.Client.t(), term()) :: {:ok, :ok} | {:error, ExPipedrive.Error.t()}
Marks a task as deleted via DELETE /api/v2/tasks/:id.
Returns {:ok, :ok}.
@spec get(Tesla.Client.t(), term()) :: {:ok, ExPipedrive.Task.t()} | {:error, ExPipedrive.Error.t()}
Fetches a task by id via GET /api/v2/tasks/:id.
@spec list_page( Tesla.Client.t(), keyword() ) :: {:ok, ExPipedrive.Page.t()} | {:error, ExPipedrive.Error.t()}
Lists one page of tasks via GET /api/v2/tasks.
Options: :cursor, :limit (clamped to 500), :is_done, :is_milestone,
:assignee_id, :project_id, and :parent_task_id.
@spec stream( Tesla.Client.t(), keyword() ) :: Enumerable.t()
Lazily streams tasks across v2 cursor pages.
@spec update(Tesla.Client.t(), term(), map()) :: {:ok, ExPipedrive.Task.t()} | {:error, ExPipedrive.Error.t()}
Updates a task via PATCH /api/v2/tasks/:id.