A CLI app written in TypeScript to migrate tasks created in ClickUp to Linear issues.
There are two entry-points to launch the CLI apps using Bun runtime.
- The "setup" CLI is used to interact with the Linear API and generate JSON files that will be used later when performing the actual migration.
- The import CLI takes a CSV file as a parameter and creates the issues in Linear
bun run ./src/cli-setup.ts --help
bun run ./src/cli-import.ts input.csv --dryRun
Install Bun
Install project dependencies:
bun install
Create a Linear API key from Linear.app
Copy .env.template
content and create a .env
file with the following secrets:
- LINEAR_API_KEY
- TEAM_KEY
- PROJECT_KEY
We need to query Linear.app to generate some JSON files in the ./setup
folder
bun run ./src/cli-setup users > setup/users.json
bun run ./src/cli-setup.ts labels > setup/labels.json
bun run ./src/cli-setup.ts states > setup/states.json
TODO: describe how to generate the CSV file from a ClickUp view.
Move the CSV file to the input
folder pf this repo.
Run the CLI script in dryMode
to ensure it works as expected before running it for real!
bun run ./src/cli-import.ts input/clickup.csv --dryRun
When debugger, a --limit
flag can be used to only process a given number of rows.