Skip to content

Triage Opened Issues #7

Triage Opened Issues

Triage Opened Issues #7

Workflow file for this run

name: Triage Opened Issues
on:
issues:
types: [opened]
permissions:
issues: write
jobs:
assign_triage_label:
runs-on: ubuntu-latest
steps:
- name: Assign Triage Label
if: ${{ join(github.event.issue.labels) == '' && join(github.event.issue.assignees) == '' }}
uses: actions-ecosystem/action-add-labels@v1
with:
labels: triage-needed
number: ${{ github.event.issue.number }}
github_token: ${{ secrets.GITHUB_TOKEN }}
assign_random_user:
needs: assign_triage_label
runs-on: ubuntu-latest
steps:
- name: Assign Random User
run: |
echo "Waiting a few seconds before assigning..."
sleep 30
assignees=$(gh issue view ${{ github.event.issue.number }} --repo ${{ github.repository }} --json assignees)
if echo "$assignees" | grep -q '"login"'; then
echo "The issue has assignees. "
exit 0
else
echo "The issue has no assignee(s)."
if ! gh issue view ${{ github.event.issue.number }} --repo ${{ github.event.repository.full_name }} --json labels | grep "triage-needed"; then
echo "Skipping triage assignment since triage-needed label is not present"
exit 0
fi
users=("isidorn" "jrieken" "roblourens" "aeschli" "mjbvz" "connor4312" "Tyriar" "Yoyokrazy" "andreamah" "joyceerhl" "alexr00" "bpasero" "rebornix" "chrmarti" "lramos15" "hediet" "alexdima" "rzhao271" "bhavyaus")
if [[ " ${users[@]} " =~ " ${{ github.event.issue.user.login }} " ]]; then
echo "Issue author is in the users list, skipping random assignment."
exit 0
else
random_user=${users[$RANDOM % ${#users[@]}]}
echo "Assigning issue to $random_user"
gh issue edit ${{ github.event.issue.number }} --add-assignee $random_user --repo ${{ github.repository }}
fi
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}