name: On labeled issue

on:
  issues:
     types:
       - labeled

jobs:
  Assigned:
    # Triggered when manually assigned the label "📍 Assigned" to trigger the automatic unassignment after 30 days
    name: "📍 Assigned"
    if: ${{ github.event.label.name == '📍 Assigned' && github.repository_owner == 'JabRef' }}
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - name: Move Issue to "Free to take" Column in "Candidates for University Projects"
        uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
        with:
          github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
          project-url: "https://github.com/orgs/JabRef/projects/3"
          target-labels: "📍 Assigned"
          target-column: "Free to take"
          ignored-columns: ""
          default-column: "Free to take"
          skip-if-not-in-project: true
      - name: Move Issue to "Free to take" Column in "Good First Issues"
        uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
        with:
          github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
          project-url: "https://github.com/orgs/JabRef/projects/5"
          target-labels: "📍 Assigned"
          target-column: "Free to take"
          ignored-columns: ""
          default-column: "Free to take"
          skip-if-not-in-project: true
  FirstTimeCodeContribution:
    if: ${{ github.event.label.name == 'FirstTimeCodeContribution' && github.repository_owner == 'JabRef' }}
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
    - name: GreetingFirstTimeCodeContribution
      uses: peter-evans/create-or-update-comment@v4
      with:
        issue-number: ${{ github.event.issue.number || github.event.pull_request.number }}
        body: |
          Welcome to the vibrant world of open-source development with JabRef!

          Newcomers, we're excited to have you on board. Start by exploring our [Contributing](https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md) guidelines, and don't forget to check out our [workspace setup guidelines](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace) to get started smoothly.

          In case you encounter failing tests during development, please check our [developer FAQs](https://devdocs.jabref.org/code-howtos/faq.html)!

          Having any questions or issues? Feel free to ask here on GitHub. Need help setting up your local workspace? Join the conversation on [JabRef's Gitter chat](https://gitter.im/JabRef/jabref). And don't hesitate to open a (draft) pull request early on to show the direction it is heading towards. This way, you will receive valuable feedback.

          ⚠ Note that this issue will become unassigned if it isn't closed within **30 days**.

          🔧 A maintainer can also add the **`Pinned`** label to prevent it from being unassigned automatically.

          Happy coding! 🚀
    - name: Move Issue to "Assigned" Column in "Candidates for University Projects"
      uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
      with:
        github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
        project-url: "https://github.com/orgs/JabRef/projects/3"
        target-labels: "FirstTimeCodeContribution"
        target-column: "Assigned"
        ignored-columns: ""
        default-column: "Free to take"
        skip-if-not-in-project: true
    - name: Move Issue to "Assigned" Column in "Good First Issues"
      uses: m7kvqbe1/github-action-move-issues@feat/skip-if-not-in-project-flag
      with:
        github-token: ${{ secrets.GH_TOKEN_ACTION_MOVE_ISSUE }}
        project-url: "https://github.com/orgs/JabRef/projects/5"
        target-labels: "FirstTimeCodeContribution"
        target-column: "Assigned"
        ignored-columns: ""
        default-column: "Free to take"
        skip-if-not-in-project: true
  good-first-issue:
    name: "good first issue"
    if: "${{ github.event.label.name == 'good first issue' && github.repository_owner == 'JabRef' }}"
    runs-on: ubuntu-latest
    steps:
      - name: "good first issue"
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN_PROJECT_ITEM_ADD }}
        run: |
          ISSUE_URL=$(jq --raw-output .issue.html_url "$GITHUB_EVENT_PATH")
          gh project item-add 5 --owner JabRef --url $ISSUE_URL
  needs-refinement:
    if: github.event.label.name == 'needs-refinement' && github.repository_owner == 'JabRef'
    runs-on: ubuntu-latest
    steps:
      - name: needs-refinement
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN_PROJECT_ITEM_ADD }}
        run: |
          ISSUE_URL=$(jq --raw-output .issue.html_url "$GITHUB_EVENT_PATH")
          gh project item-add 15 --owner JabRef --url $ISSUE_URL
  status-freeze:
    name: "status: freeze"
    if: "${{ github.event.label.name == 'status: freeze' && github.repository_owner == 'JabRef' }}"
    runs-on: ubuntu-latest
    steps:
      - name: "status: freeze"
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN_PROJECT_ITEM_ADD }}
        run: |
          ISSUE_URL=$(jq --raw-output .issue.html_url "$GITHUB_EVENT_PATH")
          gh project item-add 9 --owner JabRef --url $ISSUE_URL
  ui:
    if: "${{ github.event.label.name == 'ui' && github.repository_owner == 'JabRef' }}"
    runs-on: ubuntu-latest
    steps:
      - name: ui
        env:
          GH_DEBUG: api
          GH_TOKEN: ${{ secrets.GH_TOKEN_PROJECT_ITEM_ADD }}
        run: |
          ISSUE_URL=$(jq --raw-output .issue.html_url "$GITHUB_EVENT_PATH")
          echo $ISSUE_URL
          gh project item-add 8 --owner JabRef --url $ISSUE_URL