
name: Assign
on:
  issue_comment:
    types: created

# Restrict the permissions granted to the use of secrets.GITHUB_TOKEN in this
# github actions workflow:
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication
permissions:
  issues: write

jobs:
  one:
    runs-on: ubuntu-latest
    # Note that string comparisons is not case sensitive.
    if: >-
       startsWith(github.event.comment.body, '/take')
       && !github.event.issue.assignee
    steps:
      - run: |
          # Using REST API directly because assigning through gh has some severe limitations. For more details, see
          # https://github.com/chenxingqiang/jax-sklearn/issues/29395#issuecomment-2206776963
          echo "Assigning issue ${{ github.event.issue.number }} to ${{ github.event.comment.user.login }}"
          curl -H "Authorization: token $GH_TOKEN" -d '{"assignees": ["${{ github.event.comment.user.login }}"]}' \
              https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/assignees
          gh issue edit $ISSUE --remove-label "help wanted"
        env:
          GH_TOKEN: ${{ github.token }}
          ISSUE: ${{ github.event.issue.html_url }}
