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 + " - Thanks for your contribution! " + "If you think something could be improved about the contributor experience, please post in `#docs-contributor-feedback` on Slack."; } else if (prAuthor.toLowerCase() !== "copilot") { commentBody = "👋 @" + prAuthor + " - Thanks for your contribution! " + "If you think something could be improved about the contributor experience, please post in `#docs-contributor-feedback` on Slack."; } else { // nobody to mention! commentBody = "👋 Thanks for your contribution! " + "If you think something could be improved about the contributor experience, please post in `#docs-contributor-feedback` on Slack."; } await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: pr.number, body: commentBody });