hackforla / hackforla/website

Create a Chart in Looker Dashboard Visualizing Audit of Issues with Missing Labels Over Time

Open
#5,813 36 comments 0 reactions 0 assignees View on GitHub
Complexity: Small Draft Feature: Board/GitHub Maintenance feature: Issues Dashboard ready for product role: data analyst size: 3pt
Dominant language
JavaScript
Stars
363
Forks
872
Avg merge
2d 21h
Merged PRs (30d)
18

Description

### Overview

We would like to analyze the number of issues with missing complexity, role, size, or feature labels over time to evaluate performance.

### Preparing to work on this issue
You will need to be added to the following resources:
- Hack for LA website team drive
- 1Password
- Access to edit and merge requests in [live-dashboard-automation repository](https://github.com/hackforla/live-dashboard-automation)
- Access to edit [Looker dashboard](https://lookerstudio.google.com/u/2/reporting/6410c484-f38f-44ba-b4ed-c29a6b2a081b/page/e1JSB/edit) (Resource 1)

### Action Items
- [x] Create a new Jupyter Notebook or Google Colab Notebook (whichever works for you)
- [x] Using GitHub API, retrieve data on all issues in the Hack for LA website repository
- [x] To get the official missing series labels for complexity, role, size, and feature, retrieve the labels by reading the data from the ["Labels for Weekly Label Check" spreadsheet](https://docs.google.com/spreadsheets/d/1-ltg0qMeZSgOnqrCU0nKUDQd1JOXTMWrNTK63VZjXdk/edit#gid=0) (Refer to Python script in Resource 3 for reference)
- [x] Filter for issues that have the missing series labels for complexity, role, size, and feature (make sure to filter out issues with labels starting with "Ignore:") (Tip: You can identify unique issues by their "html_url")
- [x] Transform the data to create a dataset with the tally for issues with missing series labels as follows:
Columns:
- Date (yyyy-mm-dd format)
- Role, Open (Number of open issues with role missing label)
- Role, Closed (Number of closed issues with role missing label)
- Complexity, Open (Number of open issues with Complexity: Missing label)
- Complexity, Closed (Number of closed issues with Complexity: Missing label)
- Size, Open (Number of open issues with size: missing label)
- Size, Closed (Number of closed issues with size: missing label)
- Feature, Open (Number of open issues with feature: missing label)
- Feature, Closed (Number of closed issues with feature: missing label)

- [x] Send data to `Missing Label Audit` sheet in the "GitHub Project Board Issues - Data Analysis" spreadsheet (see Resource 2.i)
- need to figure out a way to update data to a new row every time the script runs
- [x] Once everything is working properly:
- [x] Export your Jupyter Notebook or Google Colab file as a .py file.
- [x]] Add the .py file to your local copy of the live-dashboard-automation repository in Visual Studio Code
- [x] Edit the existing .yaml file (or create a new one? - do research on controlling two different workflows in a repository) to create a workflow where running of your script is triggered using a "Run workflow" button in live-dashboard-automation repository's GitHub Actions (need workflow_dispatch event trigger - refer to Resource 6)
- [x] Push changes to live-dashboard-automation repository and do a PR (pull request) to merge changes and check everything works as intended
- [x] Remember to put all keys, tokens, and username used into live-dashboard-automation repository's GitHub secrets and remove them from your .py file.
- [ ] Create chart on [Looker dashboard](https://lookerstudio.google.com/u/2/reporting/6410c484-f38f-44ba-b4ed-c29a6b2a081b/page/e1JSB/edit)

### Resources/Instructions
1. [Looker dashboard being worked on](https://lookerstudio.google.com/u/2/reporting/6410c484-f38f-44ba-b4ed-c29a6b2a081b/page/e1JSB/edit)
1. [Google Drive folder: Dashboard](https://drive.google.com/drive/folders/1OoCzO58nhcGtd4My9lvbPCAVNf_fK5hR) to put any additional resources created (e.g. spreadsheets)
1. [GitHub Project Board Issues - Data Analysis](https://docs.google.com/spreadsheets/d/1aJ0yHkXYMWTtMz6eEeolTLmAQOBc2DyptmR5SAmUrjM/edit#gid=516248185) spreadsheet
1. [Labels for Weekly Label Check](https://docs.google.com/spreadsheets/d/1-ltg0qMeZSgOnqrCU0nKUDQd1JOXTMWrNTK63VZjXdk/edit#gid=0) spreadsheet
1. [Repository controlling automation](https://github.com/hackforla/live-dashboard-automation)
1. Using Google API to Send and Read Data to Google Sheets: [Google Sheets API Automation in Python](https://www.youtube.com/watch?v=3wC-SCdJK2c&t=250s), [Update Google Sheets Using A Service Account With Google Sheets API In Python](https://www.youtube.com/watch?v=sVURhxyc6jE&t=2s), [How to Analyze Data in Google Sheets With Python: A Step-By-Step Guide](https://www.datacamp.com/tutorial/how-to-analyze-data-in-google-sheets-with-python-a-step-by-step-guide)
1. Encrypted key to send data to ["GitHub Project Board Issues - Data Analysis" spreadsheet](https://docs.google.com/spreadsheets/d/1aJ0yHkXYMWTtMz6eEeolTLmAQOBc2DyptmR5SAmUrjM/edit?usp=sharing): See 1Password "website - data science vault" - `Encrypted key for issue-availability-dashboard project`
1. [Guide on adding workflow dispatch event/button](https://leonardomontini.dev/github-action-manual-trigger/)
1. Refer to issue #4921 for information on Looker dashboard involved
1. List of ignore labels https://github.com/hackforla/website/labels?q=ignore
1. See existing workflow in this folder https://github.com/hackforla/live-dashboard-automation/tree/main/.github/workflows

### Useful Documentations from Looking Over Jason's Work:
1. [Using Urllib.parse](https://docs.python.org/3/library/urllib.parse.html)
2. [Documentation on Shillelagh library](https://shillelagh.readthedocs.io/en/latest/index.html)
3. [DuckDB API](https://duckdb.org/docs/api/python/overview.html)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.