Create GitHub Issues Feed
User Intent
"How do I sync GitHub issues from a repository? Show me GitHub Issues feed configuration."
Operation
SDK Method: createFeed() with FeedTypes.Issue
Auth: GitHub personal access token or OAuth
Code Example (TypeScript)
import { Graphlit } from 'graphlit-client';
import {
  FeedTypes,
  FeedServiceTypes,
  GitHubIssuesFeedPropertiesInput,
  GitHubIssueAuthenticationTypes,
  GitHubRepositoriesInput,
} from 'graphlit-client/dist/generated/graphql-types';
const graphlit = new Graphlit();
// Use the GitHub credential stored in the Developer Portal
const authorizationId = process.env.GRAPHLIT_GITHUB_ISSUES_AUTH_ID!;
const repositoriesInput: GitHubRepositoriesInput = {
  authenticationType: GitHubIssueAuthenticationTypes.OAuth,
  authorizationId,
};
// Enumerate repositories this credential can access
const repositoriesResponse = await graphlit.queryGitHubRepositories(repositoriesInput);
const repositories = repositoriesResponse.githubRepositories?.results ?? [];
if (repositories.length === 0) {
  throw new Error('No GitHub repositories available for the authorized account');
}
const { repositoryOwner, repositoryName } = repositories[0]!;
console.log(`Using GitHub repository: ${repositoryOwner}/${repositoryName}`);
const feed = await graphlit.createFeed({
  name: 'GraphQL Issues',
  type: FeedTypes.Issue,
  issue: {
    type: FeedServiceTypes.GitHubIssues,
    github: {
      authorizationId,
      authenticationType: GitHubIssueAuthenticationTypes.OAuth,
      repositoryOwner: repositoryOwner!,
      repositoryName: repositoryName!,
      readLimit: 100,
      includeAttachments: true,
    },
  },
  // Optional: add workflow for content processing
  // workflow: { id: workflow.createWorkflow.id }
});
console.log(`Created GitHub Issues feed: ${feed.createFeed.id}`);Configuration
repositoryOwner: GitHub username or organization
repositoryName: Repository name
authorizationId: Stored GitHub credential identifier (OAuth recommended)
authenticationType: GitHubIssueAuthenticationTypes.OAuth or GitHubIssueAuthenticationTypes.PersonalAccessToken
readLimit: Number of issues to sync
includeAttachments: Download issue attachments
GitHub Token Setup
- Developer Portal → Connectors → GitHub Issues 
- Complete OAuth flow with required scopes ( - repo,- write:discussion,- read:useras needed)
- Store the resulting credential; note the - authorizationId
- Use - queryGitHubRepositoriesto confirm repository access before creating feeds
What Gets Synced
- Issue titles and descriptions 
- Issue numbers and states (open/closed) 
- Labels and milestones 
- Assignees and authors 
- Comments and reactions 
- Timestamps (created, updated, closed) 
Use Cases
Product Feedback:
repositoryOwner: 'facebook',
repositoryName: 'react'Bug Tracking:
repositoryOwner: 'your-org',
repositoryName: 'your-product'Support Tickets:
repositoryOwner: 'company',
repositoryName: 'customer-support'OAuth vs Personal Access Token
Use OAuth when:
- Building multi-user applications 
- Need user-specific permissions 
- Want connector-based auth 
Use Personal Access Token when:
- Single-user automation 
- Service account access 
- Simpler setup 
Related
- GitHub Repository Feed - Sync repo files 
- Linear Feed - Linear issue tracking 
- Jira Feed - Jira issue tracking 
Last updated
Was this helpful?
