| CARVIEW |
Select Language
HTTP/1.1 200 OK
Connection: keep-alive
Server: nginx/1.24.0 (Ubuntu)
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=300
Content-Encoding: gzip
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
Date: Sat, 17 Jan 2026 05:21:49 GMT
X-Served-By: cache-dfw-kdal2120110-DFW, cache-bom-vanm7210043-BOM
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1768627309.993956,VS0,VE294
Vary: Accept, Accept-Encoding
transfer-encoding: chunked
asana: Asana API Client
asana: Asana API Client
Modules
[Index] [Quick Jump]
Downloads
- asana-1.0.1.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 1.0.0.0, 1.0.1.0, 1.0.1.1 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | aeson (>=1.3.1.1), aeson-casing (>=0.1.0.5), base (>=4.11.1.0 && <5), bytestring (>=0.10.8.2), hashable (>=1.2.7.0), http-conduit (>=2.3.2), iso8601-time (>=0.1.5), microlens (>=0.4.9.1), microlens-mtl (>=0.1.11.1), monad-logger (>=0.3.30), mtl (>=2.2.2), scientific (>=0.3.6.2), text (>=1.2.3.1), time (>=1.8.0.2), unliftio (>=0.2.9.0), unliftio-core (>=0.1.2.0), unordered-containers (>=0.2.9.0) [details] |
| License | MIT |
| Author | |
| Maintainer | Freckle Education |
| Uploaded | by PatrickBrisbin at 2024-01-19T18:47:10Z |
| Category | Utils |
| Home page | https://github.com/freckle/asana-hs#readme |
| Bug tracker | https://github.com/freckle/asana-hs/issues |
| Source repo | head: git clone https://github.com/freckle/asana-hs |
| Distributions | NixOS:1.0.1.1 |
| Downloads | 391 total (12 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2024-01-19 [all 1 reports] |
Readme for asana-1.0.1.1
[back to package description]Asana
Haskell client for the Asana API.
API Key
- Visit Settings > Apps > Developer apps, create a Personal Access Token
Simple Usage
For example, to make a quick script to list all incomplete tasks in a project:
import Asana.Api.Request
import Asana.Api.Task
import Data.Text (pack)
import System.Environment (getEnv)
import Control.Monad.Logger (runStdoutLoggingT)
import Control.Monad.Reader (runReaderT)
main :: IO ()
main = do
key <- AsanaAccessKey . pack <$> getEnv "ASANA_ACCESS_KEY"
runStdoutLoggingT $ flip runReaderT key $ do
let projectId = "..."
tasks <- getProjectTasks projectId IncompletedTasks
print tasks
Advanced Usage
This library implements the Has-class pattern for use in a ReaderT-style
application.
data App = App
{ -- ...
, appAsanaAccessKey :: ApiKey
}
instance HasAsanaAccessKey App where
asanaAccessKeyL = lens appAsanaAccessKey $ \x y -> x { appAsanaAccessKey = y }
loadApp :: IO App
loadApp = undefined
main :: IO ()
main = do
app <- loadApp
runStdoutLoggingT $ runReaderT run app
run :: (MonadLogger m, MonadReader env m, HasAsanaAccessKey env) => m ()
run = undefined