Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seem/circleci-to-sqlite
Save data from CircleCI to a SQLite database
https://github.com/seem/circleci-to-sqlite
circleci datasette datasette-io datasette-tool dogsheep sqlite
Last synced: 14 days ago
JSON representation
Save data from CircleCI to a SQLite database
- Host: GitHub
- URL: https://github.com/seem/circleci-to-sqlite
- Owner: seeM
- License: apache-2.0
- Created: 2021-07-24T16:33:30.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-31T09:10:02.000Z (over 3 years ago)
- Last Synced: 2024-10-03T22:04:28.999Z (about 1 month ago)
- Topics: circleci, datasette, datasette-io, datasette-tool, dogsheep, sqlite
- Language: Python
- Homepage:
- Size: 31.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# circleci-to-sqlite
[![PyPI](https://img.shields.io/pypi/v/circleci-to-sqlite.svg)](https://pypi.org/project/circleci-to-sqlite/)
[![Changelog](https://img.shields.io/github/v/release/seem/circleci-to-sqlite?include_prereleases&label=changelog)](https://github.com/seem/circleci-to-sqlite/releases)
[![Tests](https://github.com/seem/circleci-to-sqlite/workflows/Test/badge.svg)](https://github.com/seem/circleci-to-sqlite/actions?query=workflow%3ATest)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/seem/circleci-to-sqlite/blob/main/LICENSE)Save data from CircleCI to a SQLite database.
## How to install
$ pip install circleci-to-sqlite
## Authentication
Create a CircleCI personal access token: https://app.circleci.com/settings/user/tokens
Run this command and paste in your new token:
$ circleci-to-sqlite auth
This will create a file called `auth.json` in your current directory containing the required value. To save the file at a different path or filename, use the `--auth=myauth.json` option.
As an alternative to using an `auth.json` file you can add your access token to an environment variable called `CIRCLECI_TOKEN`.
## Fetching all data for the current user
The [`circleci_to_sqlite.sh`](./circleci_to_sqlite.sh) example script shows how to download _all_ data for the current user's followed projects, skipping jobs that already have steps.
$ ./circleci_to_sqlite.sh
## Fetching followed projects for the current user
The `projects` command retrieves all of the projects for the current user.
$ circleci-to-sqlite projects circleci.db
## Fetching jobs for a project
The `jobs` command retrieves all of the jobs belonging to a project. A project is specified by its slug, which has the form `{vcs_type}/{username}/{reponame}`.
$ circleci-to-sqlite jobs circleci.db github/seem/circleci-to-sqlite
## Fetching steps for a job
The `steps` command retrieves all of the steps and their actions belonging to a job.
$ circleci-to-sqlite steps circleci.db github/seem/circleci-to-sqlite 8
## Development
To contribute to this tool, first checkout the code. Then create a new virtual environment:
cd circleci-to-sqlite
python -mvenv venv
source venv/bin/activateOr if you are using `pipenv`:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest