Featured image with Logos for Asana and GitHub, representing Unito's guide to syncing GitHub Issues to Asana tasks with a 2-way integration.

How to Set Up a GitHub-Asana Integration With Automated 2-Way Updates

Asana is fantastic at keeping track of milestones, objectives, tasks and so on. But if you’re working with developers in GitHub, or you’re working on code yourself, it can be challenging to use both simultaneously. This guide will show you how to sync Asana tasks with GitHub issues automatically through Unito’s 2-way no-code integration for project management. By the end of this guide, you’ll be able to create tasks in Asana based on specific GitHub issues that will then be synced together in real-time, so that as you make changes in one place, you’ll see them reflected in the other.

Automate repetitive tasks, improve cross-functional collaboration, and track progress across tools with a single integration. No matter which tool you’re working from.

You can use this workflow to streamline software development management; the ticketing progress; or to align comments, assignees, custom fields, and more.

Why a GitHub-Asana integration?

How many projects are you managing at the same time? Are they all performed by the same team, each using the same tools? Do you have to keep your project plans updated manually?

The Challenge of Diverse Tools: Asana and GitHub

Turns out Asana is a pretty good tool to plan and keep track of multiple projects. It’s biggest strengths are its easy of adoption by anyone and it’s got great collaboration features baked in.

But what happens if some of your project members are developers who would rather work from the beloved GitHub than a general tool like Asana?

The Power of Open-Source Projects and Collaboration

Open-source projects have transformed the way developers work around the globe, particularly when it comes to collaboration. But collaboration comes with its own challenges, particularly if you have teams in multiple tools and physical locations.

Connecting GitHub and Asana with a no-code integration platform such as Unito eliminates the need for someone on your team to manually check repos or projects for updates. This can be useful for quickly submitting bug reports or feature requests, supporting software development teams, coordinating work between dev teams and the rest of your organization, and so on.

Syncing GitHub issues with Asana tasks also enables you to automatically populate your repos with data from Asana projects and vice versa.

Streamlining Workflows with Unito’s No-Code Integration

This Github Asana Integration can also be useful in setting up a more efficient way of working across complex initiatives and work with remote teams more easily. Instead of having to wait hours or days for updates to come through manually, you’ll see live updates in whichever tool you prefer.

Get the most out of your GitHub-Asana integration

  • Add, tag, prioritize, assign, and collaborate on development tasks from Asana. Any change will get synchronized with GitHub.
  • Use dashboards to monitor progress and deadlines.
  • Build saved searches in Asana to combine views of multiple projects.
  • Add visualizations like Gantt charts and Kanban boards for more advanced planning and workflows.
  • Add reporting tools to get richer reports.

Ticketing and cross-functional collaboration use cases for any industry

There are a wide variety of business use cases for any team that relies on ticketing in GitHub, including: tech companies, startups, professional service providers, and others. This automation solution could be used to simplify the process of pushing bug reports and feature requests to GitHub from other sources.

Instead of asking someone to work in an unfamiliar interface, you could simply create a task in Asana with details about the request and watch that information turn into a GitHub issue automatically.

Before you connect Asana and GitHub to Unito:

  • Ensure you have an account in both Asana and GitHub with permission to create tasks and issues.
  • Add Unito to GitHub through the GitHub Marketplace.

If you prefer to watch it in action, you can check out this step-by-step video guide:

Step 1. Connect GitHub and Asana to Unito

Navigate to the Unito App and select +Create Flow. On the next screen, select Start Here to connect your GitHub account and Asana. Choose the accounts you wish to connect to Unito. Then, specify a single Asana project and GitHub repository.

Connect GitHub and Asana to Unito
In the above example, Fanny has connected Asana tasks from her project: “Projects overview” with GitHub issues from the repository: “fannylaveau/repo1”.

When you’re ready, select Confirm.

Step 2. Set flow direction between GitHub and Asana

Flow direction determines how new GitHub issues or Asana tasks are created by Unito. Later, you’ll be able to add field mappings to determine which details of your issues and tasks will then stay in a real-time sync.

In our demo, we’ll select a two-way flow so that certain Asana tasks will trigger the creation of new GitHub issues and vice versa. We’ll determine exactly how that happens in the next step.

Set flow direction between GitHub and Asana
With a two-way flow, certain new GitHub issues will create new Asana tasks, and certain new Asana tasks will create new GitHub issues.

Note: Regardless of flow direction here, you will later be able to decide whether or not each individual field (task and issue details) will sync one-way or two-way with Unito.

Select Confirm when you’ve chosen a flow direction.

Step 3. Set rules to filter data between Asana tasks and GitHub issues

This is where we can set up triggers to determine which actions taken in Asana will cause new issues to appear in GitHub, and where.

Select Add a new trigger to begin setting your rules. There can be some variability here depending on your particular setup in each tool.

Set rules to filter data between your Asana tasks to GitHub issues
In this case, Fanny has told Unito to send all new tasks created after July 25, 2022 to a specific GitHub repo, Repo1. After you’ve completed this demo, you can try to create a workflow with multiple repos.

In our demo, the Asana project was created specifically to sync new tasks with GitHub, so no other filters are required. If you want to sync specific tasks from a project, but not all tasks, you can add a trigger based on other variables, such as Asana tags.

Find out more about setting rules.

Step 4. Set up field mappings between Asana and GitHub

Fields represent the details of your Asana tasks and GitHub issues. Comments, due dates, assignees, descriptions, etc. all count as fields in Unito.

What are Field Mappings?

First, you’ll be asked whether you want to set up your fields from scratch or let Unito do so automatically. If you select auto-map, you can still change any mappings you want afterwards. If you prefer a DIY approach, start from scratch.

Your fields will be automatically mapped for two-way updates, but you can modify each individually if you prefer a one-way sync in some cases. A two-way update means that changes from either Asana or GitHub will be applied to the other. A one-way update restricts those changes accordingly.

Select + Add mapping, then Select a field in both GitHub and Asana to pair two fields together.

Set up field mappings between Asana and GitHub
Here is our completed set of field mappings. As you can see, they are fairly intuitive: comments become comments, tags become labels, etc.

You can select any field with a gear icon to add an additional layer of customization.

Unito Field Mappings Customization GitHub Asana
In this case, there are multiple status options, so we’re just confirming that closed status in Asana = closed status in GitHub. You can add your own layers of complexity in each tool however, in case you have a variety of statuses you’d like to map here.

Click Confirm when you’re satisfied with your field mappings to proceed.

Step 5. Save, close and launch your Asana – GitHub workflow!

And that’s it! You’ve just completed a flow between GitHub and Asana. Congratulations!

If you’ve followed the steps above, your flow will now: 

  • Create an issue in GitHub based on Asana tasks from our specified project.
  • Enable technical and non-technical teams to collaborate between Asana and GitHub with a view on task progress.

Here’s what our tools look like now that we used Unito to integrate GitHub with Asana:

If you have any questions, don’t hesitate to reach out and let us know. 

What’s next after a 2-way Asana-GitHub integration?

If you’re interested in seeing what else you can do with Unito, here are some articles to help you power up your workflows: