A GitHub Action that syncs GitHub pull requests to Asana tasks using flexible, rule-based automation.
๐ View Full Documentation โ
- Rule-based automation: Define custom rules for different PR events (opened, closed, edited, etc.)
- Task creation: Automatically create Asana tasks from PRs
- Custom field updates: Update Asana custom fields based on PR state
- Handlebars templating: Dynamic content generation for task titles and descriptions
- Task completion: Mark tasks complete when PRs are merged
name: Asana Sync
on:
pull_request:
types: [opened]
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: planningcenter/asana-github-sync@main
with:
asana_token: ${{ secrets.ASANA_TOKEN }}
github_token: ${{ github.token }}
rules: |
rules:
- when:
event: pull_request
action: opened
then:
update_fields:
'1234567890': 'In Review'- Getting Started - Installation and setup
- Examples - Real-world workflows
- Conditions - When rules trigger
- Actions - What rules do
- Templates - Dynamic values with Handlebars
| Input | Required | Description |
|---|---|---|
asana_token |
Yes | Asana Personal Access Token |
github_token |
Yes | GitHub token (use secrets.GITHUB_TOKEN) |
rules |
Yes | YAML rules configuration |
user_mappings |
No | Map GitHub usernames to Asana user GIDs |
integration_secret |
No | Asana-GitHub integration secret |
dry_run |
No | Preview changes without executing (default: false) |
Complete input documentation โ
| Output | Description |
|---|---|
task_ids |
Comma-separated list of task IDs |
field_updates |
Number of field updates applied |
tasks_created |
Number of tasks created |
Complete output documentation โ
This action never fails your workflows. All errors are logged but do not block PR operations.
When sync failures occur:
- โ Your PR workflow continues normally
โ ๏ธ Errors are logged to GitHub Actions output- โน๏ธ Asana tasks may not reflect latest PR state
This design ensures that Asana sync issues never prevent code from being merged or deployed.
Check the Actions logs if you notice tasks are not updating as expected.
Complete error handling documentation โ
MIT