Your ticket system thinks this is one bug. Your codebase knows it's three.
When a bug spans multiple repositories, the fix is easy — the coordination is the hard part. Morphora's mapping feature connects one issue tracker to multiple repos and produces a PR for each.

Your ticket system thinks this is one bug. Your codebase knows it's three.
Monday morning. A bug ticket lands in your issue tracker: "Prices display incorrectly on checkout." One ticket. One label. One assignee. Clean and simple.
Except it's not. The price formatting lives in a shared library. The checkout API passes the value to a payment gateway. The storefront renders it to the customer. Three repositories, three fixes, one ticket that has no idea.
The coordination tax
Here's how this usually plays out. Someone triages the ticket and figures out which repos are affected. They create a branch in each one. Maybe they open three sub-tickets, maybe they just keep a mental list.
Then the real fun starts. The fix itself takes 30 minutes. The logistics take the rest of the day. PR #1 in the shared library needs to merge before PR #2 in the API can be tested. PR #3 in the frontend depends on both. Reviews happen at different times. Deployment ordering matters.
And if someone forgets to update one of the three repos? You get a fun regression two weeks later that nobody connects to the original fix.
This isn't a hard problem. It's a tedious one. And tedious problems are the ones that slip through the cracks.
A real example: the currency formatting bug
Let's make it concrete. Your e-commerce platform has three repositories:
price-utils— a shared library that formats currency valuescheckout-api— a Go service that processes paymentsstorefront-ui— a React app that renders prices to customers
Someone updates price-utils to follow a new locale standard. The format changes from "€10.00" to "10.00 EUR". The library's own tests pass. Everything looks green.
But checkout-api passes that string to a payment gateway that expects the € symbol prefix. Transactions start failing. And storefront-ui has a parser that splits on "€" to extract the number. Prices render as NaN.
One root cause. Three repos. Three different fixes:
price-utils: Add backwards-compatible format option
checkout-api: Use numeric amount instead of formatted string
storefront-ui: Update parser to handle both formats
Your issue tracker sees one ticket. Your codebase needs three coordinated changes.
One mapping, three repos, parallel PRs
This is exactly the problem Morphora's mapping feature solves. A mapping connects a single issue tracker to multiple repositories. When a ticket is submitted for resolution, Morphora analyzes all mapped repositories in parallel — and produces one PR per repo, all tracked under a single resolution.
No manual triage. No spreadsheet of "which repos does this touch." No hoping someone remembers the third repo.
Here's what that looks like in practice:
One mapping connects GitHub Issues to three repositories: price-utils, checkout-api, and storefront-ui. Each repo is analyzed independently and gets its own pull request.
The flow is straightforward:
- A ticket comes in: "Currency formatting broken in checkout"
- Morphora looks up the mapping and finds three active repositories
- It analyzes each repo in parallel — identifying what needs to change and why
- Each repo gets its own PR with a targeted fix
- One resolution tracks the whole thing from start to finish
No repo gets forgotten. No fix drifts out of sync. And every PR links back to the original ticket.
Setting it up takes two minutes
Creating a mapping is simple. Pick your issue tracker connection, pick your VCS provider, and add the repositories you want to cover.
The creation form: select an issue tracker, a VCS provider, and add as many repositories as your plan allows. Each repo gets its own branch configuration.
That's it. No YAML files. No pipeline scripts. No custom webhooks to wire up. Once the mapping exists, every ticket submitted against it automatically fans out to all connected repositories.
You can add or remove repositories at any time. Deactivate one temporarily without deleting it. Test connections individually. Each repo lives independently within the mapping — if one fails validation, the others still proceed.
What changes for your team
The before/after is stark:
Before: One ticket, manual triage, three branches, three PRs with implicit dependencies, deployment coordination, and a prayer that nothing gets missed.
After: One ticket, one resolution, three independent analyses, three PRs — each scoped, traceable, and reviewable on its own. Merge when ready.
No more context switching between repos to track what's been fixed and what hasn't. No more implicit dependencies between PRs that only exist in someone's head. No more forgotten repos that surface as regressions weeks later.
The coordination tax drops to zero. Your team spends time reviewing fixes, not orchestrating them.
Bugs don't respect repo boundaries
Your ticket system will always show one line item. But your codebase knows the truth: some bugs live in the gaps between repositories. The tooling that fixes them should understand that too.
Morphora will give your tickets a career. Analyzing, coding, opening PRs — all covered. Coffee? Not yet. ☕