- Install grok tool.
brew install ngrok
for MacOS users. Follow instructions on https://dashboard.ngrok.com/get-started/your-authtoken to configure it. - Run
ngrok http 8090
. This will block, so do this in a separate terminal window. - Copy the subdomain, e.g. e91dadc7
- Create a new PAT - we're going to use ngrok on prod Asana, and don't want to give it long-term middleman access. Follow instructions on https://app.asana.com/-/developer_console.
- Add this PAT to the local config
echo 'pat: "your_private_access_token_here"' >> config.yaml
- Add the Asana workspace to the local config (this is required for webhooks.get_all). You could get workspace id from url in admin console of Asana UI.
echo 'workspace: your_workspace_id_here' >> config.yaml
- Run
./webhook_server.py
. This will block, so do this in a separate terminal window. - Request Asana to create webhook
./asana-cli.py webhooks create --target 'https://SUBDOMAIN_HERE.ngrok.io/receive-webhook?project=PROJECT_ID' --resource PROJECT_ID
- Make changes in Asana and see the logs from the returned webhooks.
- Don't forget to deauthorize your temp PAT when you're done.
This is an extension of the asana studies that were described above. Please familiarize yourself with them before continue.
- Acquire running RabbitMQ instance.
- Add
amqp_url: amqps://login:passwod@host:port
entry toconfig.json
. - Run
./asana2rabbitmq.py
- Register webhook via
asana-cli.py
- Run
./listen.py --queue task_changes
and./listen.py --queue comments
. This will block, so do this in a separate terminal windows.