Skip to content

headwayio/asana-ex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AsanaEx

Asana API wrapper: API Reference

This is intended to support Birdseye and aims to quickly fetch workspaces, projects, tasks, and subtasks. Pagination and subtask retrieval is challenging and this library attempts to wrap that work in a single call:

# Fetch user information
response = AsanaEx.Client.me("my-token")

# {:ok, %{"data" => %{"email" => "user@headway.io"}}}

# Fetch all projects by workspace GUIDs
workspace_gids = ["12345", "67890"]

AsanaEx.Client.all_workspace_projects("my-assignee-gid", "my-token")
|> Enum.to_list()
|> Enum.flat_map(fn {_, items} -> items end)

# Fetch all tasks by workspace GUIDs
workspace_gids = ["12345", "67890"]

workspace_gids
|> AsanaEx.Client.all_workspace_tasks("my-assignee-gid", "my-token")
|> Enum.to_list()
|> Enum.flat_map(fn {_, items} -> items end)

This library does not account for Asana's rate limits and Asana's API does much more than this is implemented here.

Installation

If available in Hex, the package can be installed by adding asana_ex to your list of dependencies in mix.exs:

def deps do
  [
    {:asana_ex, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/asana_ex.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages