0

I want to regularly export a project from Asana in csv, programatically. An example of how to do this manually is here.

My objective is to have a frequently updated list of all tasks and where they are in the project (what "column") for reporting purposes. Getting the data is my current bottleneck, the rest can be done with basic Python.

Ideally I'd like to use the Asana python API, but can also be via the command line if easier.

Question: How can I programmatically export a project in csv format from Asana?

sapo_cosmico
  • 6,274
  • 12
  • 45
  • 58
  • 1
    The REST API documentation is here: https://asana.com/developers/api-reference/projects You might be able to use the project api to get a task list and then get the detailed info on the tasks from the task api. – Hersheezy May 23 '17 at 14:57

2 Answers2

1

If you still need a solution on automating the process, you can set it up with Import2 Wizard.

The first time you set up export Projects and Tasks from Asana into a CSV file configuring the mappings the way you need it.

Then you just set up how often you want to run it: weekly, daily etc.

Disclaimer: I am with the Import2 team

Jana Band
  • 11
  • 2
0

Is there a particular reason you need the project data in CSV format? I recommend you request the project you need via the Asana API:

GET https://app.asana.com/api/1.1/projects/<project-id>/tasks

This will return the tasks in a project in JSON format (you can later convert JSON to CSV if there is a particular reason you need that format). You can use options in your request if you want the response to contain certain data.

Depending on your use case, you could also use the events endpoint if you just want to see what has changed in a project. Depending on your technical ability, you could also look into implementing webhooks, though this is a more advanced option than using events.

Jeff
  • 456
  • 2
  • 5
  • CSV would be fine, the need is that it works from a python script. I'm assuming it would work with [this](https://stackoverflow.com/questions/720867/http-authentication-in-python) somehow? – sapo_cosmico May 26 '17 at 20:01
  • I recommend using the Asana Python Client Library. You could use `client.tasks.find_by_project()` to get all tasks within the given project. – Jeff Jun 08 '17 at 18:58