合并/删除git分支时自动删除Sonarqube分支项目

时间:2016-07-06 09:54:20

标签: jenkins sonarqube sonarqube-ops

我们目前有一个使用Multibranch Workflow plugin的jenkins管道。每个git分支执行一个sonarqube分析,使用sonar.branch属性创建一个sonarqube项目。这非常有用,因为在合并之前正在分析每个分支,当分支与master合并并在GIT上消失时问题出现,项目继续在sonarqube上并且需要手动删除。 有没有办法自动完成?或任何其他推荐?

3 个答案:

答案 0 :(得分:5)

删除SonarQube分支项目的最佳方法是首先不要将它们推送到服务器。您可以选择以下选项:

在SonarSource,我们每天都使用SonarLint和GitHub插件。最后一个解决方案是使用api/projects/delete Web服务手动删除项目。

答案 1 :(得分:2)

如果您正在使用Bitbucket Server和Sonar for Bitbucket Server插件,那么可以通过自动方式执行此清理。要从Bitbucket Server启用此设置,请按照以下屏幕截图中显示的3个步骤进行操作。

Screenshot of 3 steps

答案 2 :(得分:0)

您可以定义以下方法来完成工作,然后根据需要或在诸如合并/删除git分支等事件时,在需要时调用该方法。

def deleteSonarProject() {
    def sonarToken = "-your admin credential token generate it from sonarServer-"
    def url = "http://yourBaseURL:portNumber/api/projects/delete"
    sh "curl -u ${sonarToken}: ${url} -d 'project=projectKey'"
}