| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- name: Auto Reply to Issues
- on:
- issues:
- types: [labeled]
- permissions:
- issues: write
- contents: read
- # Limit concurrent runs to prevent rate limit issues
- concurrency:
- group: auto-reply-${{ github.event.issue.number }}
- cancel-in-progress: false
- jobs:
- auto-reply:
- # Only trigger when 'ai-reply' label is added; skip bot-created issues and issues already labeled 'copilot'
- if: |
- github.event.label.name == 'ai-reply' &&
- github.event.issue.user.login != 'github-actions[bot]' &&
- !contains(github.event.issue.labels.*.name, 'copilot')
- runs-on: ubuntu-latest
- # Increased timeout to 10 minutes to accommodate multiple API calls, file I/O, and network latency.
- timeout-minutes: 10
-
- steps:
- - uses: actions/checkout@v4
-
- - name: Multi-turn AI Response
- id: ai_response
- uses: actions/github-script@v8
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- script: |
- const fs = require('fs');
- const path = require('path');
- const script = require('./.github/scripts/issue-ai-response.js');
- await script({ github, context, core, fs, path });
- env:
- OPENAI_URL: ${{ vars.OPENAI_URL }}
- OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
|