Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iliasderos/github-project-invoice
Generate invoice CSV from github projects
https://github.com/iliasderos/github-project-invoice
Last synced: 2 days ago
JSON representation
Generate invoice CSV from github projects
- Host: GitHub
- URL: https://github.com/iliasderos/github-project-invoice
- Owner: IliasDeros
- Created: 2020-09-27T02:44:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-11-16T02:21:11.000Z (about 3 years ago)
- Last Synced: 2024-11-11T04:41:33.381Z (2 months ago)
- Language: JavaScript
- Homepage: github-project-invoice.vercel.app
- Size: 17.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Github Project Invoice
For some **freelance contracts**, I use [Github projects](https://github.com/features/project-management/) to track progress and time estimates, which need to be manually processed for billing. This script helps generate the rows in **markdown** format for an invoice.
![Issue](./public/issue-screenshot.png)
## Prerequisites
- Node & `yarn`
- A [github access token](https://github.com/settings/tokens) including `repo` and `read:org` scopes
- A github repo with project(s) that include a "Done" column and "0h" labels## Getting Started
1. Install dependencies (dotenv & graphql) - `yarn`
2. Configure environment variables - See `.env`
2. Run the script - `yarn start`## The script does the following
1. Find projects in a repo
2. Identify all issue cards in the _Done_ column
3. For each card, add a row to invoice_items.csv containing `name,hours````
NAME,HOURS
Issue Name - [#1](github.com/link/to/issue/1),12
```## Deployment
For convenience, the script is deployed on vercel. See https://github-project-invoice.vercel.app/api