diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 55c605090..6cd9d981d 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -1,9 +1,12 @@ name: Discussion Triage -run-name: ${{ github.event.issue.title }} +run-name: ${{ github.event_name == 'issues' && github.event.issue.title || github.event.pull_request.title }} on: issues: types: - labeled + pull_request_target: + types: + - labeled env: TARGET_REPO: github/cli jobs: @@ -11,7 +14,7 @@ jobs: runs-on: ubuntu-latest if: github.event_name == 'issues' && github.event.action == 'labeled' && github.event.label.name == 'discuss' steps: - - name: Create discuss issue based on source issue + - name: Create issue based on source issue env: BODY: ${{ github.event.issue.body }} CREATED: ${{ github.event.issue.created_at }} @@ -23,8 +26,8 @@ jobs: # Markdown quote source body by replacing newlines for newlines and markdown quoting BODY="${BODY//$'\n'/$'\n'> }" - # Create discuss issue using dynamically constructed body within heredoc - cat << EOF | gh issue create --title "Triage issue \"$TITLE\"" --body-file - --repo "$TARGET_REPO" --label discuss + # Create issue using dynamically constructed body within heredoc + cat << EOF | gh issue create --title "Triage issue \"$TITLE\"" --body-file - --repo "$TARGET_REPO" --label triage **Title:** $TITLE **Issue:** $LINK **Created:** $CREATED @@ -34,3 +37,31 @@ jobs: > $BODY EOF + + pull_request: + runs-on: ubuntu-latest + if: github.event_name == 'pull_request_target' && github.event.action == 'labeled' && github.event.label.name == 'discuss' + steps: + - name: Create issue based on source pull request + env: + BODY: ${{ github.event.pull_request.body }} + CREATED: ${{ github.event.pull_request.created_at }} + GH_TOKEN: ${{ secrets.CLI_DISCUSSION_TRIAGE_TOKEN }} + LINK: ${{ github.repository }}#${{ github.event.pull_request.number }} + TITLE: ${{ github.event.pull_request.title }} + TRIGGERED_BY: ${{ github.triggering_actor }} + run: | + # Markdown quote source body by replacing newlines for newlines and markdown quoting + BODY="${BODY//$'\n'/$'\n'> }" + + # Create issue using dynamically constructed body within heredoc + cat << EOF | gh issue create --title "Triage PR \"$TITLE\"" --body-file - --repo "$TARGET_REPO" --label triage + **Title:** $TITLE + **Pull request:** $LINK + **Created:** $CREATED + **Triggered by:** @$TRIGGERED_BY + + --- + + > $BODY + EOF