# Is the Asana importer available in self-hosted instances?

**URL:** <https://community.taiga.io/t/is-the-asana-importer-available-in-self-hosted-instances/209>\
**Category:** Troubleshooting\
**Created:** [September 14, 2022, 3:27pm UTC](https://community.taiga.io/t/is-the-asana-importer-available-in-self-hosted-instances/209 "2022-09-14T15:27:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![TuringTux](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/turingtux/32/309_2.png) [@TuringTux](https://community.taiga.io/u/TuringTux)\
**Post date:** [September 14, 2022, 3:27pm UTC](https://community.taiga.io/t/is-the-asana-importer-available-in-self-hosted-instances/209/1 "2022-09-14T15:27:05Z")

</div>

I have just set up a self-hosted Taiga instance and would like to import tasks from an Asana project.

[Migrate from Asana to Taiga](https://community.taiga.io/t/migrate-from-asana-to-taiga/165) mentions that there is an Asana importer, however, I only see it in the official [tree.taiga.io](http://tree.taiga.io) instance, not in my self-hosted version.

The [Taiga 30min Setup](https://community.taiga.io/t/taiga-30min-setup/170) post explains how to set up GitHub, Jira and Trello importers, but sadly, Asana is not mentioned there.

I also found these two issues on GitHub that don’t really help me any further:

- [Has Asana import been removed? · Issue #1587 · taigaio/taiga-back · GitHub](https://github.com/taigaio/taiga-back/issues/1587) mentions that the Asana import was unavailable on [tree.taiga.io](http://tree.taiga.io), but that seems to be fixed
- [Asana Importer not working · Issue #1416 · taigaio/taiga-back · GitHub](https://github.com/taigaio/taiga-back/issues/1416) is still open, but was maybe fixed when the other issue was fixed

Therefore, my question: Is the Asana importer available in self-hosted instances? If so, what do I have to configure to enable it?

Thank you in advance for your time!

---

<div class="post-metadata">

**Author:** ![TuringTux](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/turingtux/32/309_2.png) [@TuringTux](https://community.taiga.io/u/TuringTux)\
**Post date:** [September 16, 2022, 12:29pm UTC](https://community.taiga.io/t/is-the-asana-importer-available-in-self-hosted-instances/209/2 "2022-09-16T12:29:19Z")

</div>

I figured this out: **Yes, the Asana importer is available in self-hosted instances.**

However, it is a bit tricky to set it up.

## Step 1: Register your instance as an app in Asana

1. Open the “My apps” view in Asana.
  - Direct link: [https://app.asana.com/0/my-apps](https://app.asana.com/0/my-apps)
  - Step by step: Log in, click on your profile picture, choose “My Settings…”, go to “Apps”, click on “Manage Developer Apps”

2. Click “Create a new app”.
3. Enter a descriptive “App name”. Asana will display this name on the authorization screen to all users who want to import projects from Asana, so choose something end-user-friendly.
4. Choose if you want to subscribe to the newsletter, agree to the terms and conditions and click “Create app”.

You should be redirected to a screen showing you a **Client ID** and a **Client secret**. Those are important, we’ll need them later (you can come back to this screen at any time, so no need to copy them right now – I just wanted to mention them here so I can refer to it later).

1. Go to the “OAuth” section.
2. Click “Add redirect URL”.
3. Enter `https://[YOUR_TAIGA_DOMAIN]/project/new/import/asana`. Replace `[YOUR_TAIGA_DOMAIN]` with wherever your Taiga instance is hosted. \[1\]
4. Click “Add”.

You will need the **Redirect URL** later.

## Step 2: Configure `taiga-back`

I used the dockerized 30 min setup as described in the forum. In this case, you need to adjust `taiga- back`, `taiga-async` and `taiga-front`. We start with the configuration of `taiga-back`.

The steps to follow are pretty similar to what you’d need to do to install the taiga-contrib-auth-ldap-ext LDAP plugin, so I won’t duplicate them here.

Follow the steps for `taiga-back` described in the linked document below, however, use the contents of the `Dockerfile` and `custom-back/config.append.py` provided below in this post.

🔗 [**Configuration of `taiga-back`**](https://github.com/TuringTux/taiga-contrib-ldap-auth-ext-2/blob/master/README.md#taiga-back)

### `custom-back/config.append.py`

> **Click here to expand**
>
> ```python
> IMPORTERS["asana"] = {
> "active": True,
> "callback_url": "[YOUR_REDIRECT_URL]",
> "app_id": "[YOUR_CLIENT_ID]",
> "app_secret": "[YOUR_CLIENT_SECRET]",
> }
> 
> ```
> 
> - **`[YOUR_CALLBACK_URL]`**: Replace this with the **Redirect URL** mentioned above.
> - **`[YOUR_CLIENT_ID]`**: Replace this with the **Client ID** mentioned above.
> - **`[YOUR_CLIENT_SECRET]`**: Replace this with the **Client Secret** mentioned above.

### `custom-back/Dockerfile`

> **Click here to expand**
>
> ```Dockerfile
> FROM taigaio/taiga-back:latest
> 
> # Insert custom configuration into the taiga configuration file
> COPY config.append.py /taiga-back/settings
> RUN cat /taiga-back/settings/config.append.py >> /taiga-back/settings/config.py && rm /taiga-back/settings/config.append.py
> 
> ```
> 
> These instructions will copy the `config.append.py` file into the container, append its contents to the `config.py` and then delete the `config.append.py` file again because it is not needed any more.

## Step 3: Configure `taiga-async`

`taiga-async` uses the same image as `taiga-back` and also needs to configured for Asana import.  
You can luckily re-use the configuration for `taiga-back`, by simply changing the `taiga-async` section in the `docker-compose.yml` file:

There, replace `image: taigaio/taiga-back:latest` with `build: ./custom-back`. \[2\]

## Step 4: Configure `taiga-front`

For the `taiga-front` configuration, you can again follow the steps described in the README for the LDAP plugin, as the only difference is the content of the configuration JSON file:

🔗 [**Configuration of `taiga-front`**](https://github.com/TuringTux/taiga-contrib-ldap-auth-ext-2/blob/master/README.md#taiga-front)

### `custom-front/conf.override.json`

This file needs to contain (among the default options) the entry:

```json
"enableAsanaImporter": "true",

```

* * *

1. If you want to make sure the URL you entered is valid, go to Taiga, create a new project and choose the “Import project” option. Append `/asana` to the URL shown in your browser’s address bar. This is the URL you need to enter as redirect URL. 

2. The specified `entrypoint` is what makes the container the `taiga-async` container, so it is not a problem that `build` still builds a `taiga-back` image.
