diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 55c605090..71fc5426d 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: + types: + - labeled env: TARGET_REPO: github/cli jobs: @@ -34,3 +37,31 @@ jobs: > $BODY EOF + + pull_request: + runs-on: ubuntu-latest + if: github.event_name == 'pull_request' && github.event.action == 'labeled' && github.event.label.name == 'discuss' + steps: + - name: Create discuss 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 discuss issue using dynamically constructed body within heredoc + cat << EOF | gh issue create --title "Triage PR \"$TITLE\"" --body-file - --repo "$TARGET_REPO" --label discuss + **Title:** $TITLE + **Pull request:** $LINK + **Created:** $CREATED + **Triggered by:** @$TRIGGERED_BY + + --- + + > $BODY + EOF