Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update google-sheets to support Google API authentication via environmental variable #10

Closed
gaurav opened this issue Jun 27, 2021 · 0 comments · Fixed by #28
Closed

Comments

@gaurav
Copy link
Collaborator

gaurav commented Jun 27, 2021

At the moment, we read the Google API authentication information from a local JSON file. We should modify this to also support receiving the authentication information from an environmental variable. This would allow us to set this authentication information via GitHub encrypted secrets, making it possible to run the model generation code via GitHub Actions (#16).

@gaurav gaurav transferred this issue from cancerDHC/ccdhmodel Oct 1, 2021
gaurav added a commit that referenced this issue Dec 10, 2021
This PR adds a "dummy sheet test" (#8) -- it runs sheet2linkml with a Google Sheet I've created solely for testing at https://docs.google.com/spreadsheets/d/1HpsF12vl_CeIzV2TEtANeysnh7cy6YOUDdv6fMXT00I/edit#gid=1810442705, and ensures that the output is identical to the schema generated on previous runs, which is included in this PR.

In addition to this, this PR also fixes some minor bugs found along with the way:
- The CCDH Terminology Service enumeration endpoint changed its format, so we have to modify our API to match it.
- The CCDH Terminology Service now returns 404s if the field doesn't exist or is not an enumeration, so we modify our code to catch that possibility.
- Fixes #10 by allowing the use of [Google API Service Accounts in an environmental variable](https://pygsheets.readthedocs.io/en/stable/authorization.html#service-account), allowing testing on GitHub Actions.
- Added `pytest` to support testing.
- Added a command line option to set the Google Sheet ID.
- Added checks to ensure that the `logging_config` and `google_sheet_id` command line arguments are set before using them.
- Made sheet2linkml explicitly set the error code to `0` in case of successful execution.
- Replaced a stray `print()` with `logging.debug()`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant