ikoofe / chat-review

ChatGPT Gitlab Code Review
94 stars 29 forks source link

@koofe/chat-review

Install

npm i @koofe/chat-review

Usage

Node.js

import review from '@koofe/chat-review';

review({
  gitlabConfig: {
    host: 'https://gitlab.mokahr.com/',
    mrIId: 2001,
    projectId: 200,
    token: 'glpat-xxxxxx',
  },
  chatgptConfig: {
    apiKey: 'sk-xxxxxxxxx',
  },
});

Shell

chat-review --chatgpt sk-xxxxxxxxx --token 'glpat-xxxxxx' --project 200 --mr 2001

通过 ChatGPT 进行代码审核的 CLI 工具,主要包含以下几个命令选项:

CI

在 Gitlab CI/CD 中设置 CHATGPT_KEY、GITLAB_TOKEN 变量,.gitlab-ci.yml 如下:

stages:
  - merge-request

Code Review:
  stage: merge-request
  image: node:latest
  script:
    - npm i @koofe/chat-review -g
    - echo "$CI_MERGE_REQUEST_PROJECT_ID" 
    - echo "$CI_MERGE_REQUEST_IID"
    - chat-review run --chatgpt "$CHATGPT_KEY" --token "$GITLAB_TOKEN" --project "$CI_MERGE_REQUEST_PROJECT_ID" --mr "$CI_MERGE_REQUEST_IID"
  only:
    - merge_requests
  except:
    variables:
      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME !~ /^(main|release)$/
  when: manual