The Ultimate Manual for Asana-GitHub Integration

Asana is an excellent tool for keeping track of your daily tasks. However, you still need GitHub to work on your code. Integrating both tools is undoubtedly helpful for streamlining your workflow. 

What is an Asana-GitHub Integration?

GitHub is an exceptional code hosting platform used by more than 65 million developers worldwide. However, the software has a steep learning curve and complex features that non-technical users may find difficult to contend with. This complexity poses a challenge for cross-functional collaboration between developers and non-technical teams.

Most organizations prefer to use Asana to manage workflow. It’s a terrific tool for organizing, tracking, and managing workflow. However, using separate software poses obvious challenges, including lack of accountability, poor visibility, and inhibited collaboration.

Asana-GitHub integration aims to link both tools to create a unified platform. This way, users can track what’s happening on GitHub right from Asana. In addition, integration reduces the need to keep multiple tabs open or switch platforms in different stages of the project lifecycle.

How Asana-GitHub Integration Works

There are two ways to integrate GitHub with Asana. The first is using the Asana + GitHub API to give Asana access to your GitHub repository. The second method is to use a Personal Access Token (PAT) to integrate Asana with GitHub. 

Each method has its pros and cons. For example, the Personal Access Token method is more manual and long-winded, but it adds more functionality to your integration. It’s also ideal for people who primarily use GitHub for their workflow since you can automate repetitive tasks and updates.

The Asana + GitHub API route is faster and more straightforward. However, it doesn’t require a username and password, which may bring up security concerns depending on your policy. Still, it’s an excellent option for Asana users.

Integrating with Asana + GitHub API is more straightforward. Since GitHub is a trusted platform, it might be worth considering this method. To integrate with Asana + GitHub API:

  • Log into your Asana dashboard and select the project you’d like to integrate into GitHub.
  • Next, click Customize in the top right-hand corner.

Asana dashboard with purple box around Customize button in right-hand corner

  • Choose Apps from the drop-down menu.
  • Click +Add app.

Asana menu to add apps with purple box around GitHub app

  • You’ll see a selection of app thumbnails. Hover on GitHub and click +Add to project.
  • Follow the authorization instructions.

You now have integrated GitHub into your Asana project.

This integration supports two main GitHub actions. These include:

  • Automating GitHub pull request notifications in Asana
  • Connecting pull request attachments in the GitHub PR descriptions to Asana

You could complete the integration here. But, your current configuration might be more manual than you’d like. Ideally, you’ll want to automate some of the more repetitive tasks. We’ll discover these limitations in the example section. 

But for now, here’s how to integrate Asana with GitHub using a Personal Access Token for added functionality:

  • First, log in to your Asana account and click your profile photo.
  • Next, click My Profile Settings.

Red arrow pointing to "My Profile Settings" in Asana account

  • Next, click the Apps tab and select Manage Developer Apps.

Asana profile settings with red arrow pointing to Manage Developer Apps

  • Next, scroll down to PERSONAL ACCESS TOKENS and click Create New Personal Access Token.

Asana Personal Access Tokens with red arrow pointing to Create New Personal Access Token link

Asana will generate your token. Copy the token because you’ll need to insert it in GitHub to complete the integration.

  • Now, go to your GitHub account and choose a repository.
  • Next, select the Settings tab and click Integrations and services.
  • Choose Add service and select Asana from the drop-down menu.
  • Finally, paste your asana Personal Access Token into the provided field and click Add Service to complete the integration.

GitHub Installed integrations menu with "Add service" button selected and "Asana" typed into search bar

Again, you can perform both integrations to add more functionality to your integration. 

Below are a few examples of how the Asana-GitHub integration supports your workflow.

Example 1: Attach Pull Request to Asana Task  

The GitHub-Asana integration makes it easy to attach pull requests to your tasks in Asana. Now, every task in the integrated Asana project comes with a dedicated GitHub field. This field is the central part of the integration, and you’ll use it to carry information over from GitHub to Asana. 

Asana dashboard with purple box around "GitHub Add pull request"

For instance, the GitHub field available on your Asana tasks easily lets you easily attach your pull requests to tasks in Asana. To do this, simply copy the pull request URL and paste it into the empty GitHub field. As a result, you’ll see a widget with the PR details right in the Asana task, including Line Changes, Build Status, and Review Status. 

Asana task showing GitHub pull request with review status, build state, PR status, and line changes

This feature makes it easy to keep track of your pull request status in Asana. You’ll also get automatic real-time updates in Asana when the status of your pull request changes. As a result, it’s now easier than ever to stay informed of the project’s progress without leaving Asana. 

Example 2: Attach Pull Request to Asana Task in GitHub

Similarly, you can also attach pull requests to your Asana tasks directly from the GitHub pull request description. Again, this action is helpful for teams that primarily use GitHub. In addition, you don’t have to switch accounts when you need to update Asana.

GitHub page with purple box around "Asana tasks" with link

You’ll first need to set up GitHub Actions to support this workflow. We detail the steps in the next section. Then, simply copy your Asana task URL and paste it into the GitHub pull request description field. 

You can find your Asana task ID at the end of the specific tasks’ URL. For example, say your task URL looks like this:

https://app.asana.com/0/1181215205434390/1300321266452756

Your task ID, in this case, is 1300321266452756. This is the last set of numbers in the task URL. The previous numbers indicate the Project ID. 

The same widget will automatically appear in Asana with the pull request details, such as PR status, Review Status, Build, State, and Line changes. Again, the PR status automatically changes Asana when closed or merged in GitHub. 

Similarly, you’ll receive pull request comments right in the Asana for open PRs.

Pull request comments in Asana

Finally, you can delete closed pull requests in Asana or replace them with new GitHub pull requests.

Example 3: Asana-GitHub Third-Party Integration

There is a third option if you are looking for more robust integration between Asana and GitHub. Third-party tools like Unito let you create deep two-way connections between your critical applications.

The integration process is simple. First, you’ll need to sign up to Unito using your Asana account. Then select GitHub from the list of supported apps, and set up your workflow to complete the integration.

Unito app for Asana-GitHub integration

The robust tool lets you customize your integration to support your specific workflow. For example, you can set up one-way integration from Asana to GitHub or vice versa. Or you can set up a two-way integration, so information flows both ways.

Setting up two-way integration for Asana and GitHub in Unito

Additionally, you can sync specific work items, filter the types of issues you want to sync, sync tags, comments, assignees, and much more. The integration tool offers four pricing tiers, including a free Basic plan. The paid plans start at $10.99 per user per month.

Unito pricing

You don’t need any coding skills to set up Asana-GitHub integration with most third-party tools, including Unito. There’s also a 14-day free trial for all the paid plans.

How to Get Started With Asana-GitHub Integration

Integrating Asana and GitHub is relatively straightforward regardless of the method you choose. The best part is that you can incorporate the tools for free if you’re only interested in essential integration. We’ll focus more on the beginner-friendly and inexpensive integration in this section. 

Choose Your Integration Method

Asana and GitHub offer native integrations. This option is an excellent choice if you only want to monitor the project progress from Asana. It’s a low-level connection that’s still useful for keeping an eye on version control without leaving Asana.

For example, any commits you push to an integrated GitHub repository appear as a task within Asana. This option is perfect for cross-functional technical and non-technical teams. In this case, the non-technical team can easily track progress from their preferred tool, Asana.

A quick recap of the integration process includes:

  • First, find the Asana project you want to integrate into Github.
  • Then, click Customize in the top-right corner of your screen.
  • Next, click the +Add app button under Apps.
  • Next, find GitHub from the list of apps and click +Add to Project.
  • Finally, authorize the integration by following the on-screen instructions.

However, you may need deeper integration. This is where third-party tools like Unito come in. You can do much more with third-party integration like Unito, including:

  • Prioritizing GitHub issues with labels and automatically syncing with Asana.
  • Syncing comments across GitHub and Asana.
  • Keep all high-priority GitHub issues in Asana.
  • Carry over important GitHub information like discussions, attachments, tags, and assignees to Asana.
  • Create live GitHub project roadmaps in Asana.

You can get started with Unito integration by signing up here. Finally, feel free to explore more third-party integration tools like Zapier and Automate.io and find the option that best supports your workflow.

Set Up Your GitHub Actions

This step is essential for integrating with Asana from GitHub using a Personal Access Token.  After the integration, you’ll need to set up GitHub Actions to automate specific actions. For example, the setup for automating GitHub pull request notifications in Asana is as follows:

CheckFirst, check the main branch on GitHub.

GitHub git checkout main command

Create a workflow file and push it to GitHub.

GitHub command to create a workflow file and push it to GitHub

This command will automatically post a default comment on Asana tasks whenever there’s a change to the pull request. So, for example, you will automatically receive Asana notifications with the appropriate message any time someone opens, reopens, merges, or closes a pull request.

You’ll need to follow the same process for individual GitHub Actions you want to sync with Asana. For instance, you’ll need to create a separate workflow file to attach pull requests to Asana tasks automatically. This will happen every time someone opens or reopens a pull request in GitHub.

GitHub command to automatically create Asana app attachments when opening pull requests

This setup also allows for granular control over your integration. For instance, you can specify which Asana projects to add comments automatically and which ones to omit. Again, GitHub users will love the flexibility and automation GitHub Actions, and Asana integration provides. 

Fortunately, GitHub offers a handy guide to help you through the process. 

Create Your Asana-GitHub Workflow

The easiest way to streamline your Asana-GitHub workflow is to stick to each platform’s use case. For example, you can use Asana as your primary project management tool. This is where you’ll assign tasks to team members, keep track of the workflow, and break down tasks.

Many developer teams also use GitHub issues to discuss solutions, produce graphics, and design documents before coding tasks. However, this might not be the best place to do this for several reasons. The most obvious is you cannot attach files to GitHub issues.

Furthermore, a typical project involves non-developer contributors such as sales teams, users, designers, and product owners. The non-technical collaborators may feel out of place using GitHub for its steep learning curve and complex features.

Instead, consider moving these crucial conversations to Asana. The platform is better suited for collaboration between diverse stakeholders. Therefore, consider using Asana for project analysis and design and GitHub strictly for the actual development.

Integrating your Asana projects with the GitHub repository is an easy way to ensure nothing falls through the cracks when utilizing more than one platform for a project. You can even avoid manual copy-pasting if you use a powerful third-party integration tool like Unito or Zapier. 

Similarly, you can use GitHub for the actual coding work. So, team members can pick up work from the dedicated Asana board. Then, they’ll work on the solution locally before pushing the code up to GitHub and creating a pull request.

This is where setting up GitHub actions comes in. You can eliminate the repetitive task of copying URLs from GitHub and pasting them in Asana and vice-versa. Instead, you’ll be able to automate the bulk of this work.

For instance, you’ll receive automatic updates in Asana when there’s a status change in a pull request. You can repeat this process for as many GitHub actions you want to sync and automate in Asana. 

Every company that uses Google Workspace should be using Nira.
Bryan Wise
Bryan Wise,
CIO of GitLab

Incredible companies use Nira