Project management tools contain project history, decisions, and context. Graphlit syncs Jira, Linear, Notion, GitHub Issues, and Trello—making everything searchable and queryable via AI.
Covered Tools
- Jira (issues, comments, attachments)
- Linear (tasks, projects)
- Notion (pages, databases)
- GitHub Issues & Pull Requests
- Trello (boards, cards)
Jira
import { FeedServiceTypes } from 'graphlit-client/dist/generated/graphql-types';
const jiraFeed = await graphlit.createFeed({
name: 'Engineering Jira',
type: FeedServiceTypes.Jira,
jira: {
token: jira_oauth_token,
accountId: 'jira-account-id',
project: 'PROJ', // Project key
readLimit: 500
}
});
What syncs:
- Issue title, description, comments
- Status, assignee, reporter
- Attachments
- Custom fields
Search Jira Issues
import { ContentTypes } from 'graphlit-client/dist/generated/graphql-types';
const results = await graphlit.queryContents({
search: 'authentication bug',
filter: {
types: [ContentTypes.Issue]
}
});
Linear
const linearFeed = await graphlit.createFeed({
name: 'Product Linear',
type: FeedServiceTypes.Linear,
linear: {
token: linear_api_key,
teamId: 'team-id',
readLimit: 500
}
});
Notion
const notionFeed = await graphlit.createFeed({
name: 'Company Wiki',
type: FeedServiceTypes.Notion,
notion: {
token: notion_integration_token,
databaseId: 'database-id', // Optional
readLimit: 1000
}
});
What syncs:
- Pages and sub-pages
- Databases and records
- Embedded content
- Inline comments
GitHub Issues
const issuesFeed = await graphlit.createFeed({
name: 'Repo Issues',
type: FeedServiceTypes.GitHubIssues,
githubIssues: {
token: github_pat,
repositoryOwner: 'my-company',
repositoryName: 'main-repo',
readLimit: 500,
includeClosedIssues: true
}
});
GitHub Pull Requests
const prFeed = await graphlit.createFeed({
name: 'Repo PRs',
type: FeedServiceTypes.GitHubPullRequests,
githubPullRequests: {
token: github_pat,
repositoryOwner: 'my-company',
repositoryName: 'main-repo',
readLimit: 100
}
});
Production Patterns
Unified Project Search
// Search across all PM tools
const results = await graphlit.queryContents({
search: 'payment integration'
});
// Returns results from Jira, Linear, Notion, GitHub
results.contents.results.forEach(item => {
console.log(`${item.type}: ${item.name}`);
});
Project RAG Bot
const conversation = await graphlit.createConversation('Project Assistant');
const response = await graphlit.promptConversation(
'What are the open authentication issues?',
conversation.createConversation.id
);
console.log(response.promptConversation?.message?.message);
Related Guides
- Data Connectors - All connectors
- Building AI Chat Applications - RAG patterns