name: Triage New Issues (Local) on: issues: types: [opened] issue_comment: types: [created] workflow_dispatch: inputs: issue_number: description: Optional issue number to triage immediately required: false default: '' type: string lookback_minutes: description: Minutes of issue history to scan when no issue number is provided required: false default: '60' type: string concurrency: group: triage-new-issues-${{ github.event.issue.number || inputs.issue_number || github.run_id }} cancel-in-progress: false jobs: triage_issues: # A needs-info reply by the original reporter triggers re-triage # even if it mentions @oz-agent, because the respond-to-triaged # workflow handles explicit mentions on triaged issues separately. if: | ( github.event_name != 'issue_comment' && !contains(github.event.issue.labels.*.name, 'triaged') && !contains(github.event.issue.labels.*.name, 'ready-to-spec') && !contains(github.event.issue.labels.*.name, 'ready-to-implement') ) || ( github.event_name == 'issue_comment' && !github.event.issue.pull_request && github.event.comment.user.type != 'Bot' && !endsWith(github.event.comment.user.login, '[bot]') && ( ( contains(github.event.comment.body, '@oz-agent') && !contains(github.event.issue.labels.*.name, 'triaged') ) || ( contains(github.event.issue.labels.*.name, 'needs-info') && github.event.comment.user.login == github.event.issue.user.login && !contains(github.event.comment.body, '@oz-agent') ) ) ) permissions: contents: read issues: write uses: warpdotdev/oz-for-oss/.github/workflows/triage-new-issues.yml@main with: issue_number: ${{ github.event.issue.number || github.event.inputs.issue_number || '' }} lookback_minutes: ${{ github.event.inputs.lookback_minutes || '60' }} secrets: OZ_MGMT_GHA_APP_ID: ${{ secrets.OZ_MGMT_GHA_APP_ID }} OZ_MGMT_GHA_PRIVATE_KEY: ${{ secrets.OZ_MGMT_GHA_PRIVATE_KEY }} OSS_WARP_API_KEY: ${{ secrets.OSS_WARP_API_KEY }}