How to Centralize GitHub and Jira Tasks for Freelancers: Sync Issues Automatically Without Manual Copying
Automatically pull GitHub issues and Jira tasks into one to-do list for freelancers. Sync status, avoid manual copying, and organize by client with colors and filters.
If you manage multiple GitHub repositories and Jira projects as a freelancer, manually checking each tool for pending issues wastes 30–60 minutes daily. The solution isn’t a generic to-do list—it’s a system that automatically pulls your GitHub issues and Jira tasks into one place, syncs their status, and lets you organize them by client or project without losing context. Here’s how it works, with exact steps and real examples from a freelance developer’s workflow.
Why manual copying fails for freelancers with multiple agile projects
Copying GitHub issues and Jira tasks to a spreadsheet or a generic app (like Google Tasks) creates three problems:
- Loss of context: A GitHub issue includes labels, comments, assignees, and milestones. When you copy only the title to another tool, you lose the link to the original issue, the discussion history, and the ability to update it directly. Example: You mark a task as done in your list, but forget to close the issue in GitHub—your client still sees it as pending.
- No unified prioritization: If you have 5 issues from 3 clients, you can’t compare their urgency or deadlines at a glance. Example: A critical bug in Client A’s repository (due today) gets buried under a low-priority enhancement for Client B (due next week).
- Double work: Updating the status of an issue in GitHub or Jira doesn’t reflect in your to-do list, and vice versa. Example: You spend 10 minutes daily cross-checking your list against GitHub notifications to ensure nothing slips through.
How to automatically pull GitHub and Jira issues into one to-do list
1. Connect GitHub and Jira to Foco in 2 minutes (no webhooks or passwords)
Foco uses OAuth to connect to GitHub and Jira. For each account, you choose where its issues should appear:
- Fixed workspace: Assign all issues from a GitHub repository to a workspace named "Client X - Frontend" (e.g., blue). Use this if you want strict control over where each issue lands.
- Automatic (AI): Foco analyzes the issue’s content (labels, project, repository) and assigns it to the most relevant workspace. Example: An issue with the label "backend" goes to "Client Y - Backend"; one with "bug" goes to "Client Z - Bug Fixes".
After connecting, Foco creates a task for every issue assigned to you or where you’re mentioned. Example: A Jira issue titled "API timeout error" appears in Foco with:
- Do date: The issue’s due date in Jira (when you should start working on it).
- Due date: The deadline (separate from the do date).
- Priority: "Urgent" if the issue has the label "blocker" in Jira.
- Tags: The same labels as the issue (e.g., "bug", "api").
- Attached note: A link to the original issue + the first comment or description.
2. Organize tasks by client with colors and filters
Each workspace in Foco has a unique color. Example:
- Client A - GitHub (blue): Issues from their repository.
- Client B - Jira (green): Tasks from their sprint board.
- Client C - Email (red): Tasks created by forwarding emails to your Foco capture address (e.g., u-xxxx@in.heyfoco.com).
Use Overview mode to see all tasks at once, each with its workspace’s color. Example: A red task (Client C) stands out among blue (Client A) and green (Client B) tasks, so you know it’s from a different project. Switch to Focus mode to see only one workspace’s tasks—ideal for deep work sessions.
3. Sync task status back to GitHub/Jira (no manual updates)
When you mark a task as Done in Foco, enable the "complete in source" option to automatically:
- GitHub: Close the issue or pull request.
- Jira: Add a comment (e.g., "Resolved in Foco") and transition the issue to "Done".
Example: You finish a task titled "Fix login button" in Foco. Foco closes the issue in GitHub and adds a comment with the timestamp. Your client sees the update without you opening GitHub.
How this compares to generic alternatives (with real numbers)
Most tools force you to choose between centralization and context. Here’s how Foco solves problems others can’t:
- Spreadsheets (Google Sheets): Manually copying 10 issues/day takes 15 minutes. With Foco, it’s 0 minutes (automatic sync). Over a month, that’s 5 hours saved. Learn how to batch tasks to save even more time.
- Note-taking apps (Notion, Obsidian): You can create a database for issues, but you’ll spend 5–10 minutes per issue adding dates, priorities, and links. Foco does this automatically. Example: A GitHub issue with a due date appears in Foco’s calendar without manual input.
- Project managers (Trello, ClickUp): They require Zapier or complex integrations to pull GitHub/Jira issues. Foco’s native connections work out of the box. Example: ClickUp’s GitHub integration only syncs once/day; Foco syncs instantly.
- Simple lists (Google Tasks, Apple Reminders): They lack workspace colors, calendar views, or fields like "do date" vs. "due date". Example: In Google Tasks, you can’t see which client a task belongs to without adding it to the title (e.g., "[Client A] Fix bug").
Step-by-step: A freelancer’s workflow with GitHub and Jira in Foco
Here’s how a freelance developer with 3 clients uses Foco to manage GitHub and Jira issues without switching tools:
Morning: Prioritize tasks across clients
At 9:00 AM, you open Foco’s Overview mode and see:
- Blue (Client A - GitHub): "Review PR #42" (urgent, do date: today).
- Green (Client B - Jira): "Fix API timeout error" (due date: tomorrow).
- Red (Client C - Email): "Send architecture proposal" (created by forwarding an email to u-xxxx@in.heyfoco.com).
You filter by do date and see that Client A’s PR is the only task for today. You switch to Focus mode for Client A’s workspace and use Kanban view to move the PR to the "Doing" column.
Midday: Handle a new issue without breaking focus
At 11:00 AM, Client B messages you about a new Jira issue. Foco automatically pulls it into your list with the tag "bug" and high priority. You drag it to the "This week" column in Kanban view. You don’t need to open Jira—Foco shows the issue’s description and comments in the task’s note.
Afternoon: Adjust deadlines and block time
At 3:00 PM, you check the calendar and see that tomorrow you have:
- 10:00 AM: Meeting with Client C (imported from Google Calendar).
- 12:00 PM: Client B’s issue is due.
You adjust the do date for Client B’s issue to today and block 2 hours in your calendar to finish it. Learn how to organize time blocks for freelancers with different time zones here.
End of day: Close tasks and sync with GitHub/Jira
You mark the PR and issue tasks as done. Foco automatically:
- Closes the PR in GitHub.
- Adds a comment to the Jira issue: "Resolved in Foco at 5:30 PM."
Your list updates, and tomorrow you’ll start with Client C’s work. No manual updates, no forgotten issues.
Key decisions when setting up Foco for GitHub and Jira
These choices determine whether your system works smoothly or creates extra work:
1. Fixed workspace vs. automatic assignment
Fixed workspace: Use if you have clear boundaries between clients (e.g., "Client X - GitHub", "Client Y - Jira"). Example: A freelancer with 2 long-term clients assigns all issues from Client X’s repository to a blue workspace. Pros: Predictable; cons: Requires manual setup for new clients.
Automatic (AI): Use if you work on many short-term projects or issues span multiple clients. Example: A developer with 10 active repositories lets Foco assign issues based on labels (e.g., "frontend" → "Client A - Frontend"). Pros: Scales with more clients; cons: May misassign issues if labels are inconsistent.
2. Do date vs. due date: How to use them
Do date: When you should start working on the task. Example: A Jira issue due on Friday has a do date of Wednesday, so you block time for it before the deadline. Use this to plan your week in the calendar view.
Due date: The deadline. Example: A GitHub issue with a due date of tomorrow appears in the "This week" section of the list view. Use this to filter urgent tasks.
3. When to enable "complete in source"
Enable this if you want Foco to update GitHub/Jira when you mark a task as done. Example: You finish a task titled "Update dependencies" in Foco. Foco closes the issue in GitHub and adds a comment. Disable it if you prefer to update the original tool manually (e.g., for issues that require a custom resolution message).
How to start today (5-minute setup)
- Create workspaces: One for each client or project (e.g., "Client X - GitHub", "Client Y - Jira"). Assign a unique color to each.
- Connect GitHub and Jira: Go to Settings > Connections. For each account, choose a fixed workspace or let the AI assign issues automatically.
- Enable bidirectional sync: In each connection’s settings, check "complete in source" to update GitHub/Jira when you mark tasks as done in Foco.
- Review tasks in Overview mode: Filter by do date or due date to prioritize urgent tasks. Example: Sort by do date to see what you should start today.
- Try the views: Use Kanban for sprints (drag tasks between columns), List for pending tasks by date, and Calendar to plan your week. Learn how to use time blocking for freelancers here.
- Set reminders: For tasks with due dates, add a reminder 1 day before. Example: A Jira issue due on Friday gets a reminder on Thursday at 9:00 AM.
The best to-do list for freelancers with GitHub and Jira isn’t the one with the most features—it’s the one that removes the friction of switching between tools, so you can focus on coding instead of managing tasks.
FAQ
Does Foco support other tools besides GitHub and Jira?
Yes. Foco also connects to Notion (pages and tasks where you’re mentioned or assigned), Linear (issues assigned to you), Asana (tasks assigned to you), and any MCP server via URL. These connections are part of the Plus plan (20 €/month).
What happens if an issue updates in GitHub/Jira after Foco pulls it?
Foco doesn’t automatically update tasks after creation. You can manually refresh a task to see the latest changes in the original issue (e.g., new comments or status updates).
Can I assign tasks to other people in Foco?
Yes, but only to people you’ve invited to a workspace. Example: You invite a designer to your "Client X - Website" workspace and assign them a task titled "Update homepage banner." They’ll see it in their Foco account. This is available in the Foco plan (4 €/month) and above.
How does Foco handle recurring issues (e.g., weekly sprint tasks)?
Foco doesn’t automatically detect recurring issues from GitHub or Jira. However, you can set a task as recurring in Foco (daily, weekly, monthly, or yearly). When you mark a recurring task as done, Foco creates the next occurrence automatically.
Is there a limit to how many GitHub/Jira issues Foco can pull?
No. Foco pulls all issues assigned to you or where you’re mentioned, regardless of quantity. However, the free plan limits you to 5 uses of AI features (e.g., Ráfaga) per month.
Try Foco
Every task from every job in one place. Free to start.



