name: "PR Management Auto Assign" on: workflow_run: workflows: ["PR Management Auto Assign Collect Data"] types: [completed] env: REPO_NAME: harvester/harvester-ui-extension jobs: auto-assign: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' }} permissions: actions: read pull-requests: write steps: - name: Download PR data artifact uses: actions/download-artifact@v4 with: name: pr-auto-assign-data run-id: ${{ github.event.workflow_run.id }} github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} - name: Load PR data run: | cat pr-auto-assign-data.env >> $GITHUB_ENV - name: Checkout repository uses: actions/checkout@v4 - name: Auto assign based on config env: GH_TOKEN: ${{ secrets.CUSTOM_GITHUB_TOKEN }} run: | # Read config ADD_ASSIGNEES=$(yq e '.addAssignees' .github/auto-assign-config.yaml) ADD_REVIEWERS=$(yq e '.addReviewers' .github/auto-assign-config.yaml) REVIEWERS=$(yq e '.reviewers[]' .github/auto-assign-config.yaml 2>/dev/null || true) # Assign author if addAssignees is 'author' if [[ "$ADD_ASSIGNEES" == "author" ]]; then echo "Assigning PR author: $PR_AUTHOR" gh pr edit "$PR_NUMBER" --repo "${REPO_NAME}" --add-assignee "$PR_AUTHOR" fi # Add reviewers if addReviewers is true and reviewers list is non-empty if [[ "$ADD_REVIEWERS" == "true" && -n "$REVIEWERS" ]]; then SELECTED=$(echo "$REVIEWERS" | xargs) echo "Adding reviewers: $SELECTED" for reviewer in $SELECTED; do gh pr edit "$PR_NUMBER" --repo "${REPO_NAME}" --add-reviewer "$reviewer" done fi