This file contains hidden or 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: Feedback prompt for non-Docs team contributors when a PR is closed | |
| on: | |
| pull_request: | |
| types: [closed] | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| jobs: | |
| comment-on-pr: | |
| # This workflow should only run on the 'github/docs-internal' repository because it posts a feedback request | |
| # to non-Docs team contributors when their PR is merged into the main branch. | |
| # The feedback request asks contributors to leave feedback on their contributing experience in Slack. | |
| if: github.repository == 'github/docs-internal' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check if PR author is in docs-content team | |
| id: check_team | |
| uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 | |
| with: | |
| github-token: ${{ secrets.DOCS_BOT_PAT_BASE }} | |
| script: | | |
| try { | |
| const pr = context.payload.pull_request; | |
| await github.rest.teams.getMembershipForUserInOrg({ | |
| org: 'github', | |
| team_slug: 'docs-content', | |
| username: pr.user.login, | |
| }); | |
| // Author is in the team. Do nothing! | |
| } catch(err) { | |
| // Author not in team | |
| core.exportVariable('NON_DOCS_HUBBER', 'true'); | |
| } | |
| - name: Post changelog instructions comment | |
| if: env.NON_DOCS_HUBBER == 'true' | |
| uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 | |
| with: | |
| github-token: ${{ secrets.DOCS_BOT_PAT_BASE }} | |
| script: | | |
| const pr = context.payload.pull_request; | |
| const prAuthor = pr.user.login; | |
| const assignees = (pr.assignees ?? []) | |
| .filter(a => a.login.toLowerCase() !== "copilot") | |
| .map(a => "@" + a.login) | |
| .join(" "); | |
| let commentBody; | |
| if (assignees) { | |
| commentBody = | |
| "👋 " + assignees + | |
| " - Please leave us feedback on your contributing experience! " + | |
| "To do this, please go to `#docs-contributor-feedback` on Slack."; | |
| } else if (prAuthor.toLowerCase() !== "copilot") { | |
| commentBody = | |
| "👋 @" + prAuthor + | |
| " - Please leave us feedback on your contributing experience! " + | |
| "To do this, please go to `#docs-contributor-feedback` on Slack."; | |
| } else { | |
| // nobody to mention! | |
| commentBody = | |
| "👋 Please leave us feedback on your contributing experience! " + | |
| "To do this, please go to `#docs-contributor-feedback` on Slack."; | |
| } | |
| await github.rest.issues.createComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: pr.number, | |
| body: commentBody | |
| }); |