diff --git a/.github/workflows/qoder-assistant.yml b/.github/workflows/qoder-assistant.yml new file mode 100644 index 0000000000..b8cc82bcce --- /dev/null +++ b/.github/workflows/qoder-assistant.yml @@ -0,0 +1,61 @@ +name: Qoder Assistant + +on: + issue_comment: + types: [created] + pull_request_review_comment: + types: [created] + +jobs: + qoder-assistant: + if: | + contains(github.event.comment.body, '@qoder') && + !endsWith(github.event.comment.user.login, '[bot]') + runs-on: ubuntu-latest + permissions: + contents: read + issues: write + pull-requests: write + id-token: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Build Arguments + id: build_args + run: | + ARGS="REPO: ${{ github.repository }} + REQUEST_SOURCE: ${{ github.event_name }} + THREAD_ID: ${{ github.event.comment.node_id }} + COMMENT_ID: ${{ github.event.comment.id }} + AUTHOR: ${{ github.event.comment.user.login }} + BODY: ${{ github.event.comment.body }} + URL: ${{ github.event.comment.html_url }} + IS_PR: ${{ github.event.issue.pull_request != null || github.event_name == 'pull_request_review_comment' }} + ISSUE_OR_PR_NUMBER: ${{ github.event.issue.number || github.event.pull_request.number }}" + + if [ -n "${{ github.event.comment.pull_request_review_id }}" ]; then + ARGS="$ARGS + REVIEW_ID: ${{ github.event.comment.pull_request_review_id }}" + fi + + if [ -n "${{ github.event.comment.in_reply_to_id }}" ]; then + ARGS="$ARGS + REPLY_TO_COMMENT_ID: ${{ github.event.comment.in_reply_to_id }}" + fi + + echo "args<> $GITHUB_OUTPUT + echo "$ARGS" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - name: Run Qoder Assistant + uses: QoderAI/qoder-action@v0 + with: + qoder_personal_access_token: ${{ secrets.QODER_PERSONAL_ACCESS_TOKEN }} + prompt: | + /assistant + ${{ steps.build_args.outputs.args }} + OUTPUT_LANGUAGE:English \ No newline at end of file diff --git a/.github/workflows/qoder-auto-review.yml b/.github/workflows/qoder-auto-review.yml index 02b6aa04d6..4afb7dcb6f 100644 --- a/.github/workflows/qoder-auto-review.yml +++ b/.github/workflows/qoder-auto-review.yml @@ -1,28 +1,28 @@ -name: "Qoder Auto Review" +name: Qoder Auto Code Review on: pull_request: - types: [opened, reopened, synchronize] + types: [opened, synchronize, reopened] jobs: - auto-review: + qoder-review: runs-on: ubuntu-latest permissions: contents: read - pull-requests: read + pull-requests: write id-token: write + steps: - - name: "Checkout" + - name: Checkout repository uses: actions/checkout@v4 - - - name: "Run Qoder Auto Review" - uses: wenxinax/qoder-action@dev with: - # Use the built-in Code Review scene. - scene: cr - qoder_machine_id: ${{ secrets.QODER_MACHINE_ID }} - qoder_user_info: ${{ secrets.QODER_USER_INFO }} + fetch-depth: 0 - # (Optional) If you have specific review rules, add them here. - append_prompt: | - # 请使用中文输出结果。 \ No newline at end of file + - name: Run Qoder Code Review + uses: QoderAI/qoder-action@v0 + with: + qoder_personal_access_token: ${{ secrets.QODER_PERSONAL_ACCESS_TOKEN }} + prompt: | + /review-pr + REPO:${{ github.repository }} PR_NUMBER:${{ github.event.pull_request.number }} + OUTPUT_LANGUAGE:English \ No newline at end of file