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

✨ Add github action that moves peer review issues issues as the label on the review is updated across our peer review project board. #154

Closed
3 tasks
lwasser opened this issue Jan 31, 2023 · 6 comments
Assignees
Labels
help wanted Extra attention is needed priority sprintable

Comments

@lwasser
Copy link
Member

lwasser commented Jan 31, 2023

We currently have a peer review project board here that we use to track current reviews. this is helpful to keep tabs on our editorial process. Most often editors don't update the review status on the board but they DO update the labels for each issue.

It easy not too difficult to move an issue to a new "column" or status on the project board using the GitHUB api / graphQL. I have some code that is a proof of concept below.

There are also actions out there but i'm not sure if any existing actions do what we need them to do. what we want to do is.

  1. when an issue has a label change to the label == 0/pre-review-checks move it to the pre-review-checks status on the board
  2. when an issue has a label change to 1-editor-assigned then move the package to under-review status on the board
  3. when a issue gets the 6/pyOS-approved 🚀🚀🚀 label, then update the status to pyos-accepted
  4. when an issue get the 9/joss-approved label assigned, update the status to joss-accepted on the board.

I looked into the actions below

but i haven't been able to get them to work.

GitHub action

Once we get the python code working to update the board, we'd next want to create an action that implements this script and updates the board.

  • we could update the board once a week via a cron job.
  • It should also have a workflow dispatch trigger available.
  • it will need to store the token required to update the issue status on the board as a secret. We have an example of doing this with pyos meta in our contributor update workflow.

Tasks

this issue could be divided into discrete subtasks

  • take the code that i linked to below in the open pr and first clean it up / make it work to update all issues on the board.
  • Once the code runs and is clean and documented, merge that into pyosmeta
  • Then create a github action that calls the code and updates the project board. this action could live in our software-submission repo.

it is also fine if we want to refactor my script in smaller chunks during a sprint vs doing all of the work !

@lwasser lwasser changed the title Add github action that moves issues with help wanted to this board Add github action that moves github issues with the help wanted tag to this help wanted board Apr 19, 2023
@lwasser lwasser added help wanted Extra attention is needed priority labels Apr 19, 2023
@lwasser lwasser changed the title Add github action that moves github issues with the help wanted tag to this help wanted board Add github action that moves github issues with the help wanted tag to our help wanted board Apr 19, 2023
@lwasser lwasser changed the title Add github action that moves github issues with the help wanted tag to our help wanted board Add github action that moves github issues with the help wanted tag to our help wanted board [CI/Infrastructure] Apr 19, 2023
@lwasser lwasser changed the title Add github action that moves github issues with the help wanted tag to our help wanted board [CI/Infrastructure] ✨ Add github action that moves github issues with the help wanted tag to our help wanted board [CI/Infrastructure] Apr 22, 2023
@lwasser
Copy link
Member Author

lwasser commented May 19, 2024

Note: i have a start on this code that works in using graphQL if anyone wants to tackle this. this pr has a VERY messy example of interfacing with the API and finding an issue on a board and moving it based on it's label status. We now just need to

  • production-ize this and clean up the mess of a script that i started.
  • Then add to CI using a token value via secrets

if my code is too painful to read you can also rewrite it entirely. i have no ego related to code that i write!

@lwasser lwasser transferred this issue from pyOpenSci/handbook May 19, 2024
@lwasser lwasser changed the title ✨ Add github action that moves github issues with the help wanted tag to our help wanted board [CI/Infrastructure] ✨ Add github action that moves peer review issues issues as the label on the review is updated across our peer review project board. May 20, 2024
@lwasser lwasser assigned lwasser and FFY00 and unassigned lwasser May 20, 2024
@lwasser
Copy link
Member Author

lwasser commented May 20, 2024

@FFY00 this is a mapping of labels to status:

column_name_mapping = {
"1/editor-assigned": "under-review", # Example label and corresponding column name
"0/pre-review-checks": "pre-review-checks",
"2/seeking-reviewers()": "under-review",
"4/review(s)-in-awaiting-changes": "under-review",
"3/reviewers-assigned": "pyos-accepted",
}

Filipe i'll add more mappings in just a bit but this is a start / enough for you to work on things.

@lwasser
Copy link
Member Author

lwasser commented May 20, 2024

@FFY00 here is a gist with my semi working code!

https://gist.github.com/lwasser/05c4094bfa3166d9fd304db54db56ba6

@lwasser
Copy link
Member Author

lwasser commented May 20, 2024

@FFY00 link is here now - https://gist.github.com/lwasser/05c4094bfa3166d9fd304db54db56ba6

@FFY00
Copy link
Member

FFY00 commented May 22, 2024

@lwasser, thanks for the code! It was a great help.

I did try to use the REST API, but found that it was broken for newer projects, so I started implementing it with the GraphQL API based on your work, but that quickly lead to something that was more complicated than I think it should be. For that reason, I decided to implement it using github actions directly, which is not as nice, but certainly nicer than the complex script would end up being.

PR: pyOpenSci/software-submission#182

For future reference, here's the code I ended up writing for the script: https://gist.github.com/FFY00/cf322dc62692f25ea321cffca3fa9e77

@lwasser
Copy link
Member Author

lwasser commented Jun 20, 2024

closing this as it is working now!! @FFY00 thank you AGAIN for your help!!

@lwasser lwasser closed this as completed Jun 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed priority sprintable
Projects
Development

No branches or pull requests

2 participants