name: '[Support] Delete Solved cards' on: workflow_dispatch: schedule: # Every 2 hours - cron: '15 0/2 * * *' # Remove all permissions by default permissions: {} jobs: delete-cards: runs-on: ubuntu-latest permissions: repository-projects: write contents: read steps: - name: Repo checkout uses: actions/checkout@v3 with: fetch-depth: 1 - name: Load .env file uses: xom9ikk/dotenv@v2 with: path: .github/workflows/ - uses: actions/github-script@v6 with: script: | const {data: cards} = await github.rest.projects.listCards({ column_id: ${{ env.SOLVED_COLUMN_ID }}, archived_state: 'all', per_page: 100 }); // Remove cards without updates in last week. const comparedDate = new Date(); comparedDate.setDate(comparedDate.getDate() - 7); cards.forEach(card => { const lastUpdate = new Date(card.updated_at); if (card.archived || lastUpdate < comparedDate ) { github.rest.projects.deleteCard({ card_id: card.id }); } });