This project is a Node.js application that uses the octokit library to interact with the GitHub API, syncing GitHub issues and pull requests from an organization to a project board.
- Node.js
- npm
-
Install dependencies:
npm install -
Run the script:
./oss-project-tracker -
Run the linter/formatter:
npm run lint
The main executable oss-project-tracker can be used to sync GitHub issues and pull requests from an organization to a project board:
./oss-project-tracker sync-to-project ORG PROJECT_NUMBER
Where:
ORGis the GitHub organization namePROJECT_NUMBERis the project number (e.g., 12) of the project within the organization
The tool supports GitHub personal access token authentication via the GITHUB_TOKEN environment variable:
GITHUB_TOKEN=your_personal_access_token ./oss-project-tracker sync-to-project ORG PROJECT_NUMBER
This allows for higher rate limits and access to private repositories when needed.
The tool will:
- Fetch all public repositories from the specified organization
- Retrieve all open issues and pull requests from those repositories
- Add each issue and pull request to the specified project board in the "To triage" column
- Skip items that are already in the project (based on item ID)
oss-project-tracker- Main executable for syncing OSS projects (with Commander and Octokit)lib/index.js- Core library code with syncToProject functionpackage.json- Dependencies including octokit, commander, and standard