使用 Devin API 的自动化问题解决
1. 流程概览
- 创建 Pull Request:向代码仓库提交一个包含更改的 Pull Request(PR),这些更改中可能包含由代码扫描工具检测出的问题。
- 触发 GitHub Action:PR 创建后会自动触发一个 GitHub Action 工作流。
- GitHub Action 调用 Devin API:GitHub Action 向 Devin API 发送请求,将检测出的问题传递给 Devin 以进行自动修复。
- 初始化 Devin 会话:Devin 会话被启动,接收问题的上下文,并基于提供的数据尝试解决该问题。
- Devin 提交用于人工审核的 PR:问题解决后,Devin 生成一个包含建议修改的 PR,并将其提交以供人工审核。
2. 完成此操作的步骤
-
为 CI 和 API 支持配置 SonarQube:
- 确保 SonarQube 已配置为支持持续集成(CI)和 API 集成。如果你不希望专门为 API 访问配置 SonarQube,可以通过 cookie 进行身份验证。在此了解有关该设置的更多信息。
-
配置 GitHub 环境以保存所需的机密信息:
- 设置 GitHub 环境,以安全存储与 Devin 的 API 和其他集成工具交互所需的机密信息,例如身份验证令牌和配置密钥。
- 测试集成
- 查看 Devin Sessions 页面
1. 创建 SONAR_TOKEN:
- 点击 SonarQube 右上角的账户图标。
- 在下拉菜单中选择 Security。
- 在 Tokens 部分中,点击 Generate Tokens。
- 为令牌命名并点击 Generate。
- 复制生成的令牌,以便在 GitHub Actions 中使用。

2. 创建 SONAR_PROJECT
- 在 SonarQube 中选择项目。
- 点击左下角的 Information。
- 向下滚动,找到 project key(项目键)。

3. 创建 SONAR_ORG
这里假设你有一个本地的 SonarCloud 属性文件
sonar-project.properties,其中指定:


