Service to allow non-technical users to automatically commit google sheets CSVs into specific repositories
NB This project is functional and in use but essentially a proof of concept and needs a lot of refactoring and documentation improvement
Once set up, users will need to take the following set of steps
- Allow the Laundromat G Suite App access to your account
- Allow the Laundromat Github App access to your account
- Select a sheet
- Select a repo
- Ensure the sheet document has the right settings set up
- Run the script:
- Export CSV
- Commit to GitHub
- Open PR
- Confirm
Cloud Run? DB?
G Suite / Github permissions?
Set up a GCP Project. Set up a Firestore (native) database. You'll need a service account and JSON file along with it. The service account needs the Firebase Rules System
permission, and will be used at runtime; save it at /config/service_account.json
.
You also need to set up Cloud Run and the Container Registry API. You'll need a new service account to deploy to these resources if you use CI.
Use the Library page to select the Sheets API and Drive API and enable both.
On the Credentials page click Create Credentials > OAuth client ID. Choose a Web Application type and give it a name. You'll need to set http://localhost:8080
as an authorized URI during development, and update this once you deploy to a live environment.
Download the client secret JSON file from the API Console and save it to /config/client_secret.json
. Don't commit this file!
docker compose up