1.1.11 • Published 3 months ago

github-projectv2-csv-exporter v1.1.11

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

→ Open The GitHub Project Exporter ←

Documentation

Read the official documentation.

Overview

This export tool allows you to export GitHub projects as a CSV.

Projects must exist within the ProjectV2 API. For exporting "classic" GitHub projects (older implementation), you can try using this exporter by Stephen Wu.

Features include:

  • ⬇️ Export all GitHub project cards as a CSV.
    • View your GitHub cards in your spreadsheet software of choice.
  • 🎛️ Filter issues by status, customize fields, and exclude closed issues.
    • Only export cards with the statuses you specify, with options to choose custom fields, or hide closed issues.
  • 🚀 Easy to use
    • Features a simple and easy to use web UI. Configure once. Click once to export.

Donate

If this project helped you, please consider buying me a coffee or sponsoring me. Your support is much appreciated!

 

Table of Contents

Installation

npm i github-projectv2-csv-exporter

Usage

Via Website

Go here: GitHub Project Exporter.

This is a static Storybook site hosted on GitHub Pages.

Via Local Storybook Site

If you'd like, you can run the project locally.

Clone the project
git clone git@github.com:justinmahar/github-projectv2-csv-exporter.git

And navigate to the project:

cd github-projectv2-csv-exporter
Install dependencies
npm install
Start the project
npm start
Open localhost:6006

Once the Storybook server starts, a development server will be running locally.

Open the project here: localhost:6006

Via npm

If you want to fetch the data yourself, you can install this package via npm and use the exported fetch functions.

Note: Your access token must include the following scopes: repo, read:org, read:user, read:project

fetchProjects

fetchProjects = async (login: string, isOrg: boolean, token: string): Promise<Projects>

Provide an org or username and the token. The promise will be resolved with a Projects instance.

Example
import { fetchProjects } from 'github-projectv2-csv-exporter';
// ...
fetchProjects('my-org', true, 'abc123mytoken').then((orgProjects) =>
  console.log(
    'Loaded projects:',
    orgProjects
      .getProjects()
      .map((p) => `${p.getTitle()} (number ${p.getProjectNumber()} | ${p.getTotalItemCount()} items)`)
      .join(', '),
  ),
);

fetchProjectItems

fetchProjectItems = async (login: string, isOrg: boolean, projectNumber: number, token: string, progress?: (loaded: number, total: number) => void): Promise<ProjectItem[]>

Provide an org or username, project number, and token. Optionally, you can provide a progress function that will be called periodically with the number of items loaded, and the total expected.

The promise will be resolved with an array of ProjectItem instances.

Example
import { fetchProjectItems } from 'github-projectv2-csv-exporter';
// ...
const projectNumber = loadedProject.getProjectNumber();
fetchProjectItems('my-org', true, projectNumber, 'abc123mytoken', (loaded, total) =>
  console.log(`Progress: ${Math.round((loaded / total) * 100)}%`),
).then((items) => console.log('Loaded', items.length, 'items'));

TypeScript

Type definitions have been included for TypeScript support.

Icon Attribution

Favicon by Twemoji.

Contributing

Open source software is awesome and so are you. 😎

Feel free to submit a pull request for bugs or additions, and make sure to update tests as appropriate. If you find a mistake in the docs, send a PR! Even the smallest changes help.

For major changes, open an issue first to discuss what you'd like to change.

⭐ Found It Helpful? Star It!

If you found this project helpful, let the community know by giving it a star: 👉⭐

License

See LICENSE.md.

1.1.11

3 months ago

1.1.9

3 months ago

1.1.8

3 months ago

1.1.10

3 months ago

1.1.7

3 months ago

1.1.6

6 months ago

1.1.1

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.22

1 year ago

1.0.21

1 year ago

1.0.20

1 year ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago