Triage Opened Issues #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |