在Jenkins工作中编写脚本

时间:2017-02-12 18:31:29

标签: jenkins sonarqube

主要问题:

在Jenkins构建中,我有一个此内容的变量GIT_BRANCHorigin/feature/JIRA1-add-component-A

从中我想获得另一个值为%3Aorigin%2Ffeature%2FJIRA1-add-component-A

的变量

为此,我需要编写脚本。如何在作业定义中编写脚本?

上下文&进一步说明:

来自Jenkins,对于我项目的每个拉取请求,我在SonarQube中创建一个项目实例。

例如,如果我有来自分支origin/feature/JIRA1-add-component-A的拉取请求,我正在创建一个包含以下URL的项目:

http://localhost:9000/dashboard?id=com.my.package%3Amy-project%3Aorigin%2Ffeature%2FJIRA1-add-component-A

我使用Quality Gates插件使构建失败,以防代码的质量(如SonarQube所见)不好。

问题是Quality Gates需要我的SonarQube项目名称,所以在这种情况下com.my.package%3Amy-project%3Aorigin%2Ffeature%2FJIRA1-add-component-A

但是,我只能这样指定:

com.my.package:my-project:${GIT_BRANCH}

这转化为:

com.my.package:my-project:origin/feature/JIRA1-add-component-A

1 个答案:

答案 0 :(得分:1)

这样的东西?如果没有道歉,但死了累了哈哈。

def GIT_BRANCH = "origin/feature/JIRA1-add-component-A"
def BRANCH = "%A3" + "${GIT_BRANCH}".replace("/", "%2F")
println "${BRANCH}"

我确信它可以更轻松但是:

Pre:origin / feature / JIRA1-add-component-A

发布:%A3origin%2Ffeature%2FJIRA1-add-component-A