Skip to main content

SSL Metrics - GitHub Issues Analysis

Project description

SSL Metrics GitHub Issues Extractor

Using the GitHub Issues REST API, provide insight into a specific GitHub repository issue tracker

DOI Release to PyPi, GitHub, and Zenodo

About

This is a proof of concept demonstrating that it is possible to use the GitHub REST API to extract Issues from a repository and graph various metrics from it.

This software extracts Issues since the project's conception a GitHub repository and stores it within a .json file.

This file can then be piped into a bundled graphing utility to graph the following:

  • Number of open issues against days
  • Number of closed issues against days
  • Comparison of number of open and closed issues against days

The graphs can be saved as a .png, .pdf, or any compatible format that matplotlib supports.

How to Run

Installation

From pip

  1. Install Python 3.9.6 +
  2. (Recommended) Create a virtual environment with python3.9 -m venv env and activate it
  3. Run pip install ssl-metrics-github-issues
  4. Generate a JSON data set with ssl-metrics-github-issues-collect -r REPOSITORY -t GH_TOKEN -s FILENAME.json
  5. Generate graphs with ssl-metrics-github-issues-graph -i FILENAME.json -o OPEN_ISSUES_GRAPH_FILENAME.* -c CLOSED_ISSUES_GRAPH_FILENAME.* -x JOINT_ISSUES_GRAPH_FILENAME

Command Line Arguments

ssl-metrics-github-issues-collect

  • -h, --help: Shows the help menu and exits
  • -r, --repository: GitHub repository to be used. Format needs to be "OWNER/REPO". Default is numpy/numpy
  • -t, --token: GitHub personal access token
  • -s, --save-json: Save analysis to JSON file

ssl-metrics-github-issues-graph

TODO: Add export options

  • -h, --help: Shows the help menu and exits
  • -c, --closed-issues-graph-filename: The filename of the output graph of closed issues
  • -i, --input: The input JSON file that is to be used for graphing
  • -o, --open-issues-graph-filename: The filename of the output graph of open issues
  • -x, --joint-issues-graph-filename: The filename of the output graph of open and closed issues

Example Outputs

TODO: Add outputs following this format https://github.com/SoftwareSystemsLaboratory/ssl-metrics-git-commits-loc/blob/main/README.md#example-outputs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssl-metrics-github-issues-0.7.tar.gz (9.9 kB view hashes)

Uploaded Source

Built Distribution

ssl_metrics_github_issues-0.7-py3-none-any.whl (10.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page