A GitHub Action that automatically adds/removes issues from the Project Needs Triage
-
Kubeflow's triage criterion are defined in issue_triage.md
- This doc provides more information about Kubeflow's process for triaging issues
-
The code for actually triaging issues is in triage.py
- Notebook exploring ways to programatically triage issues.
- Issue describing requirements for automatic triage.
name: Check Triage Status of Issue
on:
issues:
types: [opened, closed, reopened, transferred, labeled, unlabeled]
# Issue is created, Issue is closed, Issue added or removed from projects, Labels added/removed
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Update Kanban
uses: kubeflow/code-intelligence/Issue_Triage/action@master
with:
NEEDS_TRIAGE_PROJECT_CARD_ID: 'MDEzOlByb2plY3RDb2x1bW41OTM0MzEz'
ISSUE_NUMBER: ${{ github.event.issue.number }}
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.triage_projects_github_token }}- NEEDS_TRIAGE_PROJECT_CARD_ID: The Project Card ID that you want to move issues to. Defaults to
MDEzOlByb2plY3RDb2x1bW41OTM0MzEz - ISSUE_NUMBER: The issue number in the current repo that you want to triage
- GITHUB_PERSONAL_ACCESS_TOKEN: A personal access token with authorization to modify the project board.
-
Create a workflow like the one above in your repository in the directory
.github/workflows/<your_file_name>.yaml -
Create a secret for the repository called
triage_projects_github_tokenwhich has a GitHub personal access token with the following permissions-
admin:org read & write
- Needed to modify projects
-
repo:public_repo
- needed to see issues
-
-
Kubeflow repositories should use the personal access token issue-triage for the kubeflow-bot GitHub account
- The access token is currently stored in Google's internal key management system
- The google team has access and can add the key to repositories as necessary