mirror of
https://github.com/langhuihui/monibuca.git
synced 2025-09-26 21:01:19 +08:00

* iFLOW CLI Automated Issue Triage
* Update for ai
* Revert "Update for ai"
This reverts commit b85978298a
.
* Update ai md
* feature:mp4-upload-s3
102 lines
3.6 KiB
YAML
102 lines
3.6 KiB
YAML
name: '🏷️ iFLOW CLI Automated Issue Triage'
|
|
|
|
on:
|
|
issues:
|
|
types:
|
|
- 'opened'
|
|
- 'reopened'
|
|
issue_comment:
|
|
types:
|
|
- 'created'
|
|
workflow_dispatch:
|
|
inputs:
|
|
issue_number:
|
|
description: 'issue number to triage'
|
|
required: true
|
|
type: 'number'
|
|
|
|
concurrency:
|
|
group: '${{ github.workflow }}-${{ github.event.issue.number }}'
|
|
cancel-in-progress: true
|
|
|
|
defaults:
|
|
run:
|
|
shell: 'bash'
|
|
|
|
permissions:
|
|
contents: 'read'
|
|
issues: 'write'
|
|
statuses: 'write'
|
|
|
|
jobs:
|
|
triage-issue:
|
|
if: |-
|
|
github.event_name == 'issues' ||
|
|
github.event_name == 'workflow_dispatch' ||
|
|
(
|
|
github.event_name == 'issue_comment' &&
|
|
contains(github.event.comment.body, '@iflow-cli /triage') &&
|
|
contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
|
)
|
|
timeout-minutes: 5
|
|
runs-on: 'ubuntu-latest'
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 'Run iFlow CLI Issue Triage'
|
|
uses: vibe-ideas/iflow-cli-action@main
|
|
id: 'iflow_cli_issue_triage'
|
|
env:
|
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
ISSUE_TITLE: '${{ github.event.issue.title }}'
|
|
ISSUE_BODY: '${{ github.event.issue.body }}'
|
|
ISSUE_NUMBER: '${{ github.event.issue.number }}'
|
|
REPOSITORY: '${{ github.repository }}'
|
|
with:
|
|
api_key: ${{ secrets.IFLOW_API_KEY }}
|
|
timeout: "3600"
|
|
extra_args: "--debug"
|
|
prompt: |
|
|
## Role
|
|
|
|
You are an issue triage assistant. Analyze the current GitHub issue
|
|
and apply the most appropriate existing labels. Use the available
|
|
tools to gather information; do not ask for information to be
|
|
provided.
|
|
|
|
## Steps
|
|
|
|
1. Run: `gh label list` to get all available labels.
|
|
2. Review the issue title and body provided in the environment
|
|
variables: "${ISSUE_TITLE}" and "${ISSUE_BODY}".
|
|
3. Classify issues by their kind (bug, enhancement, documentation,
|
|
cleanup, etc) and their priority (p0, p1, p2, p3). Set the
|
|
labels according to the format `kind/*` and `priority/*` patterns.
|
|
4. Apply the selected labels to this issue using:
|
|
`gh issue edit "${ISSUE_NUMBER}" --add-label "label1,label2"`
|
|
5. If the "status/needs-triage" label is present, remove it using:
|
|
`gh issue edit "${ISSUE_NUMBER}" --remove-label "status/needs-triage"`
|
|
|
|
## Guidelines
|
|
|
|
- Only use labels that already exist in the repository
|
|
- Do not add comments or modify the issue content
|
|
- Triage only the current issue
|
|
- Assign all applicable labels based on the issue content
|
|
- Reference all shell variables as "${VAR}" (with quotes and braces)
|
|
|
|
- name: 'Post Issue Triage Failure Comment'
|
|
if: |-
|
|
${{ failure() && steps.iflow_cli_issue_triage.outcome == 'failure' }}
|
|
uses: 'actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea'
|
|
with:
|
|
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
script: |-
|
|
github.rest.issues.createComment({
|
|
owner: '${{ github.repository }}'.split('/')[0],
|
|
repo: '${{ github.repository }}'.split('/')[1],
|
|
issue_number: '${{ github.event.issue.number }}',
|
|
body: 'There is a problem with the iFlow CLI issue triaging. Please check the [action logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details.'
|
|
})
|