62 lines
2.0 KiB
YAML
62 lines
2.0 KiB
YAML
name: Triage new issue comments
|
|
|
|
# **What it does**: Adds label triage to new issue comments in the open source repository.
|
|
# **Why we have it**: Update open source project board for review.
|
|
# **Who does it impact**: Docs open source.
|
|
|
|
on:
|
|
issue_comment:
|
|
types:
|
|
- created
|
|
|
|
permissions:
|
|
contents: read
|
|
issues: write
|
|
|
|
jobs:
|
|
triage-issue-comments:
|
|
if: ${{ github.repository == 'github/docs' && !github.event.issue.pull_request }}
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Check if the event originated from a team member
|
|
uses: actions/github-script@e69ef5462fd455e02edcaf4dd7708eda96b9eda0
|
|
id: is-internal-contributor
|
|
with:
|
|
result-encoding: string
|
|
script: |
|
|
const repo = context.payload.repository.name
|
|
const org = context.payload.repository.owner.login
|
|
const actor = context.actor
|
|
let collaboratorStatus = ''
|
|
try {
|
|
collaboratorStatus = await github.request('GET /repos/{owner}/{repo}/collaborators/{username}', {
|
|
owner: org,
|
|
repo: repo,
|
|
username: actor
|
|
})
|
|
console.log(`This issue was commented on by a Hubber.`)
|
|
return 'true'
|
|
} catch (error) {
|
|
console.log(`This issue was commented on by an external contributor.`)
|
|
return 'false'
|
|
}
|
|
|
|
- name: Check out repo
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
|
|
- uses: ./.github/actions/node-npm-setup
|
|
|
|
- name: Label issues with new comments with 'triage'
|
|
uses: ./.github/actions/labeler
|
|
if: ${{ steps.is-internal-contributor.outputs.result == 'false' }}
|
|
with:
|
|
addLabels: 'triage'
|
|
ignoreIfLabeled: true
|
|
|
|
- uses: ./.github/actions/slack-alert
|
|
if: ${{ failure() }}
|
|
with:
|
|
slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
|
|
slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
|