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.

Link to this function

list_page(client, opts \\ [])

View Source
@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.

Link to this function

stream(client, opts \\ [])

View Source
@spec stream(
  Tesla.Client.t(),
  keyword()
) :: Enumerable.t()

Lazily streams tasks across v2 cursor pages.

Link to this function

update(client, task_id, attrs)

View Source
@spec update(Tesla.Client.t(), term(), map()) ::
  {:ok, ExPipedrive.Task.t()} | {:error, ExPipedrive.Error.t()}

Updates a task via PATCH /api/v2/tasks/:id.