Coming from GitHub Issues
Import
Issues and pull requests become epics, stories, and execution-layer nodes in your product graph.
The structural finding
GitHub is the only tool in this series where UPG's engineering domain is the primary mapping layer. code_repository, deployment, and ci_pipeline are first-class GitHub entities. The unique bridge: a commit can be linked to a UPG feature via PR → issue → ProjectV2 item, making code history traceable to product decisions.
What UPG adds
The strategic layer above your issues: outcomes, opportunities, and the user needs that drove each milestone.
Cross-domain context: link your GitHub milestones to the UPG releases and the business objectives they serve.
Code-to-strategy traceability: a feature in the graph, backed by the PR that shipped it.
Schema mapping
The key edge
The single most important semantic relationship this integration enables.
Defined in the UPG specification
Sample import
GitHub milestone → issues → labels determine entity type
Roundtrip
Import milestones and issues → link to outcomes → write strategic context back to GitHub via MCP.
- ·Outcome links written back to milestone descriptions
- ·Opportunity summaries added to issue bodies as structured comments
- ·Feature release notes generated from UPG delivery chain
Powered by the github MCP server
How to import your GitHub Issues data
The GitHub Issues adapter is built and tested. A one-command import via the UPG CLI is in development:
This will fetch your GitHub Issues data, map entity types automatically, and write everything to your graph. Today you can use the Markdown import or the adapter directly in code.
▸ For developers: use the adapter directly
Get started
The GitHub Issues adapter ships in @unified-product-graph/adapters. Install it, then run the import command.
$ npm install -g unified-product-graph
# then import
$ upg import --from notion