name: Project Automations

on:
  issues:
    types:
      - opened
      - reopened
  pull_request_target: #_target allows access to secrets
    types:
      - opened
      - reopened
    branches:
      - main
      - dev

permissions:
  contents: read

env:
  todo: Todo
  done: Done
  in_progress: In Progress

jobs:
  issue_opened_or_reopened:
    name: issue_opened_or_reopened
    runs-on: ubuntu-22.04
    if: github.event_name == 'issues' && (github.event.action == 'opened' || github.event.action == 'reopened')
    steps:
      - name: Add issue to project and set status to ${{ env.todo }}
        uses: leonsteinhaeuser/project-beta-automations@v2.0.1
        with:
          gh_token: ${{ secrets.GH_TOKEN }}
          organization: paperless-ngx
          project_id: 2
          resource_node_id: ${{ github.event.issue.node_id }}
          status_value: ${{ env.todo }} # Target status
  pr_opened_or_reopened:
    name: pr_opened_or_reopened
    runs-on: ubuntu-22.04
    permissions:
      # write permission is required for autolabeler
      pull-requests: write
    if: github.event_name == 'pull_request_target' && (github.event.action == 'opened' || github.event.action == 'reopened') && github.event.pull_request.user.login != 'dependabot'
    steps:
      - name: Add PR to project and set status to "Needs Review"
        uses: leonsteinhaeuser/project-beta-automations@v2.0.1
        with:
          gh_token: ${{ secrets.GH_TOKEN }}
          organization: paperless-ngx
          project_id: 2
          resource_node_id: ${{ github.event.pull_request.node_id }}
          status_value: "Needs Review" # Target status
      - name: Label PR with release-drafter
        uses: release-drafter/release-drafter@v5
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
