0.9.0 • Published 5 months ago

@squirrelsoft/plane-importer v0.9.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Plane Importer

A CLI tool to synchronize GitHub issues with Plane projects. This tool allows bidirectional synchronization of issues between GitHub and Plane, maintaining consistency across both platforms.

Features

  • Import GitHub issues to Plane
  • Sync updates between GitHub and Plane
  • Track changes using content hashing
  • Bidirectional synchronization
  • CLI interface for easy management

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/plane-importer.git
cd plane-importer
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Create a .env file with your API keys:
GITHUB_TOKEN=your_github_token
PLANE_API_KEY=your_plane_api_key

Configuration

  1. Copy the example configuration:
cp .plane-sync.json my-config.json
  1. Edit the configuration file with your settings:
{
  "github": {
    "owner": "your-org-name",
    "repo": "your-repo-name",
    "projectNumber": 1,
    "isOrgProject": false
  },
  "plane": {
    "baseUrl": "https://your-plane-instance.com",
    "workspaceSlug": "your-workspace",
    "projectSlug": "your-project-id"
  },
  "sync": {
    "direction": "github-to-plane",
    "autoConvertBacklogItems": false
  }
}

Usage

To sync issues using the default config file (.plane-sync.json):

npx @squirrelsoft/plane-importer sync

To use a custom config file:

npx @squirrelsoft/plane-importer sync --config my-config.json

To view sync status:

npx @squirrelsoft/plane-importer status

Configuration Options

  • github.owner: Your GitHub username or organization name
  • github.repo: The repository name
  • github.projectNumber: The project number in GitHub
  • github.isOrgProject: Whether this is an organization project (true) or repository project (false)
  • plane.baseUrl: Your Plane instance URL
  • plane.workspaceSlug: Your Plane workspace slug
  • plane.projectSlug: Your Plane project ID
  • sync.direction: One of "github-to-plane", "plane-to-github", or "both"
  • sync.autoConvertBacklogItems: Whether to automatically convert GitHub project items to issues

Development

  1. Run in development mode:
npm run dev
  1. Run tests:
npm test

License

MIT