64 lines
2.4 KiB
YAML
64 lines
2.4 KiB
YAML
# .gitea/workflows/ai-solve-issue.yml
|
|
name: AI Issue Solver
|
|
|
|
on:
|
|
# Ручной запуск
|
|
workflow_dispatch:
|
|
inputs:
|
|
issue_number:
|
|
description: 'Issue number to solve'
|
|
required: true
|
|
type: number
|
|
reason:
|
|
description: 'Reason for manual run'
|
|
required: false
|
|
default: 'Manual trigger'
|
|
type: string
|
|
|
|
# Автоматический запуск по метке
|
|
issues:
|
|
types: [labeled]
|
|
|
|
jobs:
|
|
solve:
|
|
if: |
|
|
${{ gitea.event_name == 'workflow_dispatch' ||
|
|
contains(gitea.event.labels.*.name, 'ai-solve') }}
|
|
runs-on: opencode
|
|
steps:
|
|
- name: Debug Info
|
|
run: |
|
|
echo "Event type: ${{ gitea.event_name }}"
|
|
echo "Event data: ${{ toJSON(gitea.event) }}"
|
|
echo "Inputs: ${{ toJSON(gitea.event.inputs) }}"
|
|
|
|
# Определяем номер issue в зависимости от типа триггера
|
|
if [[ "${{ gitea.event_name }}" == "workflow_dispatch" ]]; then
|
|
echo "Manual run - Issue number from input: ${{ gitea.event.inputs.issue_number }}"
|
|
ISSUE_NUMBER="${{ gitea.event.inputs.issue_number }}"
|
|
else
|
|
echo "Automatic run - Issue number from event: ${{ gitea.event.issue.number }}"
|
|
ISSUE_NUMBER="${{ gitea.event.issue.number }}"
|
|
fi
|
|
echo "ISSUE_NUMBER=${ISSUE_NUMBER}" >> $GITHUB_ENV
|
|
|
|
- name: Solve Issue
|
|
env:
|
|
GGITEA_URL: ${{ secrets.GGITEA_URL }}
|
|
GGITEA_TOKEN: ${{ secrets.GGITEA_TOKEN }}
|
|
REPO_OWNER: ${{ gitea.repository_owner }}
|
|
REPO_NAME: ${{ gitea.repository }}
|
|
ISSUE_NUMBER: ${{ env.ISSUE_NUMBER || gitea.event.issue.number || gitea.event.inputs.issue_number }}
|
|
TRIGGER_TYPE: ${{ gitea.event_name }}
|
|
REASON: ${{ gitea.event.inputs.reason || 'Label trigger: ai-solve' }}
|
|
run: |
|
|
echo "Starting issue solving..."
|
|
echo "Trigger type: $TRIGGER_TYPE"
|
|
echo "Reason: $REASON"
|
|
echo "Issue number: $ISSUE_NUMBER"
|
|
|
|
# Ваша команда solve-issue должна принимать ISSUE_NUMBER как параметр
|
|
solve-issue --issue "$ISSUE_NUMBER" --reason "$REASON"
|
|
|
|
# Или если команда использует переменные окружения
|
|
# solve-issue |