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

Automating auditing/reporting of orphaned issues across projects #2

Open
10 tasks
ExperimentsInHonesty opened this issue Jul 8, 2020 · 2 comments
Open
10 tasks
Labels
enhancement New feature or request GitHub API good first issue Good for newcomers

Comments

@ExperimentsInHonesty
Copy link
Member

ExperimentsInHonesty commented Jul 8, 2020

Overview

As github admins and portfolio owners, we need to be able to let project teams know when they have issues that are not showing up on any of their project boards. This process should be as automated as possible.

Current State

@ExperimentsInHonesty (Bonnie) and @joelparkerhenderson (Joel) worked on a script to review all the open issues that are not attached to any project board. (see resource 3 below)

Bonnie ended up using the data to manually create an issue in each repository, here is the example of what was created for Shared housing: hackforla/shared-housing#289. Note: I could have put the urls to the specific issues, but I thought it was sufficient to provide the url to see all of the issues related to the task.

Future Development

If we could automate this so that it:

  • reviews all repositories once a week
  • checks to see if there is an open issue with the title: Reconcile issues not showing up on any project board already in that project's repository
  • and if not, opens a new issue
  • places this issue in the prioritized backlog of the repository's project board called 'product management'
  • produces report of what was done, and places it in a github repo for hackforla/product-management admin use.

Action Items/Research

The above development requires the following to be addressed or answered:

  • Skill up on github actions.
  • Possibly renaming all the PM boards across all the projects to be the same, and all project boards have a column named prioritized backlog (easy - manual).
  • Opening an issue with github API (It's possible for the github api to open an issue).
  • See the title of all open issues on any given project board (seems like you have to know the number of the project board, so it's name will be irrelevant if we use github's built in search. If we use 3rd, party, it's possible that we would use the name. For Example, using the search string _is:issue is:open project:hackforla/shared-housing/1 _ on the issue page of the shared housing repo delivers all the open issues on that project board.
  • Assigning the newly created issue to the Product Management board. It doesn't seem like you can assign issues to projects using github's api. So that part either has to use a third party script or be done manually (see resource 4 below).
  • Determine desired report parameters:
    • file format
    • content of report
    • where to locate it (what repository)
    • what the after action items will be

Stakeholders

Hack for LA and other brigades. (stakeholder rep: the #ops team- please include Bonnie)

Anticipated outcomes

Less issues going unaddressed, leads better project outcomes and more reliable time lines
Directly reduces repetitive work by the GitHub org administrator, minimum of 15 min per project in a github org.

Resources/Instructions

  1. Github query cheat sheet article that Bonnie found when searching for a way to get all orphaned issues, per project to show up on the issues page
  2. Specific query used to identify orphaned issue on any specific repo:
    • no:project type:issue is:open
  3. Joel's Git command line script (github-api-issues-query-org-is-open-no-project) that allows you to see all the issues not associated with any project board. You must generate a token of your own, and you must be an admin on the organization's github account.
  4. Instructions for 3rd party method for being able to move issues automatically to a specific project board: How to build a fully automated kanban power-up for your GitHub Project board using a custom webhook. This may or may not be what we need, but it's a good place to start.
  5. Github Actions
@ExperimentsInHonesty ExperimentsInHonesty added enhancement New feature or request good first issue Good for newcomers GitHub API labels Jul 8, 2020
@fyliu
Copy link

fyliu commented Oct 20, 2021

Regarding this item above: "Assigning the newly created issue to the Product Management board. It doesn't seem like you can assign issues to projects using github's api."
The github api does provide a way of linking issues to project cards. See the "New Organization: ..." cards here for the result of the api call https://github.com/civictechindex/CTI-website-frontend/projects/1

It's not very clear in the documentation, but the way to do it is to create a card in the project board and passing the issue id and "issue" into the call.

@fyliu
Copy link

fyliu commented Oct 20, 2021

I suggest automatically creating project cards in the Triage/New Issue Approval column when new issues are created. That would make this issue's automation obsolete once all the orphaned issues are taken care of.

There are GH actions out there to do this or someone at hackforla can create one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request GitHub API good first issue Good for newcomers
Projects
Status: Unclaimed/Prioritized Backlog
Development

No branches or pull requests

2 participants