diff --git a/metrics/github/metrics.py b/metrics/github/metrics.py index 569ab2e1..a3df1c45 100644 --- a/metrics/github/metrics.py +++ b/metrics/github/metrics.py @@ -75,3 +75,7 @@ def convert_issue_counts_to_metrics(counts): } ) return metrics + + +def get_codespaces_data(codespaces): + return [vars(c) for c in codespaces] diff --git a/metrics/tasks/codespaces.py b/metrics/tasks/codespaces.py new file mode 100644 index 00000000..fb04d683 --- /dev/null +++ b/metrics/tasks/codespaces.py @@ -0,0 +1,23 @@ +import sys + +import structlog + +import metrics.github.github as github +from metrics.timescaledb import db, tables + + +log = structlog.get_logger() + + +def main(): + log.info("Getting codespaces") + codespaces = github.codespaces(org="opensafely") + log.info(f"Got {len(codespaces)} codespaces") + + log.info("Writing data") + db.upsert(tables.GitHubCodespaces, [vars(c) for c in codespaces]) + log.info("Written data") + + +if __name__ == "__main__": + sys.exit(main())