本文根据 Qiita 原文,整理如何使用 SonarQube Server(SQS)自动分析 Azure DevOps(ADO)的 Pull Request。目标是在创建 PR 时执行 SAST,并将分析结果反馈到 PR。
连接 SonarQube 与 Azure DevOps
集成需要 ADO URL 和 Personal Access Token(PAT)。在 SonarQube 中基于 ADO 仓库创建项目,并在 SonarQube 侧注册 ADO 集成。



配置 Azure DevOps
在 ADO 中安装 SonarQube 应用,并创建连接到 SonarQube 的 Service Connection。随后使用该连接配置 Pipeline。原文的示例会分析 PR 和 master 分支:





| |

将 SonarQube 设置为已创建的 Service Connection 名称,并把 cliProjectKey 替换为 SQS 项目键。
配置 Branch Policy 并验证 PR
在 ADO 的 Branch Policy 中将目标 Pipeline 设置为必需检查。修改示例代码并创建 PR,确认 Pipeline 的分析结果已发送到 SonarQube,并且 PR 中可以看到 Quality Gate 结果和 Issue 详情。





完成配置后,每个 PR 都可以自动运行分析并展示结果。