name: "Issue Labeler"
on:
  issues:
    types: [opened]
  pull_request_target:
    types: [opened]

# '*: write' permissions for https://docs.github.com/en/rest/issues/labels?apiVersion=2022-11-28#add-labels-to-an-issue
permissions:
  contents: read
  issues: write
  pull-requests: write

jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
    - name: Add agent-python label
      uses: actions-ecosystem/action-add-labels@v1
      with:
        labels: agent-python

    - name: Get token
      id: get_token
      uses: actions/create-github-app-token@v2
      with:
        app-id: ${{ secrets.OBS_AUTOMATION_APP_ID }}
        private-key: ${{ secrets.OBS_AUTOMATION_APP_PEM }}
        permission-members: read

    - id: is_elastic_member
      uses: elastic/oblt-actions/github/is-member-of@v1
      with:
        github-org: "elastic"
        github-user: ${{ github.actor }}
        github-token: ${{ steps.get_token.outputs.token }}
    - name: Add community and triage labels
      if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'apmmachine'
      uses: actions-ecosystem/action-add-labels@v1
      with:
        labels: |
          community
          triage
