July 18, 2026
Asana has its own GitHub app, and for plenty of teams it is the right answer. It attaches pull requests and branches to tasks and can move tasks along when a pull request merges. If that covers what you need, use it.
Astogi solves a narrower problem. Put a task number in a commit message, push, and the commit lands as a comment on that Asana task. No pull request has to exist yet, and nobody has to paste a task link into a branch name. This guide covers how it works and where it differs.
They are not mutually exclusive, but they work differently.
| Asana's GitHub app | Astogi commit tracking | |
|---|---|---|
| Links by | Pasting a task URL or ID into a pull request, branch or commit | A task number in the commit message |
| Shows on the task | Pull requests and branches | The commit message, author and a link to the commit |
| Needs | An Asana and GitHub connection per user | Task numbering on the Asana project |
| Also works with Bitbucket | No | Yes |
The short task number is the point. A reference like #AB-0042 is quick to type, easy to read in git log, and unambiguous. It comes from automatic task numbering, which writes the number into the task name itself.
Astogi writes a number like WEB-0042 into the Asana task name, so commits, branches and standups all point at the same task. Free on your first project.
Try for freeWhen you push to a repository Astogi is tracking, GitHub sends a webhook. Astogi reads the head commit of that push, checks the Asana projects linked to the repository, and looks for tasks whose number appears in the commit message. Each match gets a comment on the Asana task with the commit message, the author's name and a link to the commit on GitHub.
One comment is posted per push, built from the head commit, not one per commit. Pushing five commits at once gives the task one readable update. That also means the task number has to be in the message of the last commit in the push for it to be picked up, so a push of several commits should put the reference on the final one or on all of them.
Authorising Astogi asks GitHub for repository access and permission to manage repository webhooks, which is how it can create the webhook for you. It reads the push payload GitHub sends. It does not open pull requests or change your code.
There is no special keyword. Astogi looks for the task number as plain text anywhere in the commit message.
Numbers are built from settings on the project: a start character such as #, a short project code such as AB, a divider such as -, and the number with optional zero padding. A task might read #AB-0042: Fix the login redirect in Asana.
git commit -m "#AB-0042 handle expired refresh tokens"
git commit -m "Handle expired refresh tokens (#AB-0042)"
git commit -m "#AB-0042 #AB-0051 rework the token refresh path"
The last one posts to both tasks.
Two details catch people out. Astogi ignores a match when the next character is a digit, so #AB-4 never hits #AB-42. And if your project pads numbers, #AB-42 does not match #AB-0042, so nothing is posted. Copy the number from the task name instead of typing it from memory.
Matching works on push events, so branch names do not matter. A commit on a feature branch posts to the task the same way a commit on main does, which means progress is visible while work is still in flight.
Squash merges need a thought. The squash commit message is what lands on the target branch, and that is what Astogi reads. If your individual commits carried the number but the squash message does not, nothing is posted. Putting the number in the pull request title fixes it, since GitHub seeds the squash message from the title by default.
Pull request status is not tracked. Astogi reports commits, not whether a pull request is open, approved or merged.
A repository can be linked to several Asana projects, and a project can have several repositories. A monorepo works without special handling: link it to each relevant project and every commit reaches the task it names. A task that spans three repositories collects commits from all three in one thread.
GitHub and Bitbucket can be connected side by side, including to the same project. See the Asana and Bitbucket guide if part of your team is on Bitbucket.
Nothing appeared on the task. Check the task name has a number. No number means numbering is not running on that project, and tasks created before numbering was switched on do not get one retroactively.
The number does not match exactly. Zero padding is the usual cause. #AB-42 and #AB-0042 are different strings.
Only the last commit in a push is checked. If the reference sits in an earlier commit of a multi-commit push, add it to the final commit message too.
The repository is not linked to that project. Matching only covers projects the repository is connected to. Check the link in the Repositories section.
The Astogi user was removed from the Asana project. Comments are posted as that user, so removing it stops everything. It is a common reason a setup that worked for months suddenly goes quiet.
The webhook is not firing. In GitHub, open the repository settings, then Webhooks, and look at the recent deliveries. No deliveries means the webhook is missing, and reconnecting the repository recreates it.
Does this work with private repositories? Yes. Astogi works from webhooks rather than reading your code, and private repositories send webhooks like public ones.
Does it work with GitHub organisations? Yes, repositories in organisations you have access to can be listed and tracked. If an organisation restricts third-party OAuth apps, an owner has to approve Astogi first.
Do I have to use task numbering? Yes. It is what creates the numbers commits are matched against.
Is GitHub Enterprise Server supported? Astogi connects to GitHub.com. If you are self-hosted, tell us on the custom integration page.
Does it post pull request status? No, commits only.
The Git commit tracking integration page has the feature detail, and task numbering is the companion you need alongside it. Using a different provider, or need something this does not cover? Tell us on the custom integration page.
You can try Astogi for free on your first project. Need more? Get more for just €29/month.
If you have any question or need support, feel free to contact us, our team is always happy to come up with the best solutions to your problems.
Overvoorde 49,
Amsterdam, The Netherlands
Made with ❤️ in the Netherlands
©Astogi 2026
Registered at the
Chamber of Commerce #42271509