删除 Jenkinsfile 中字符串中的尾随连字符

Remove trailing hyphen in a string in a Jenkinsfile

在我的项目中,分支有时会有一个连字符。这是由于 Jira 奇特的命名过程。一个分支可能会自动命名为 PROJ-3421-create-a-login- 发生这种情况是因为 Jira 正在砍掉句子的其余部分并在末尾留下一个连字符。

这个尾随的连字符弄乱了 Jenkins。我正在想办法去掉它。

我正在尝试这样的事情。这不是有效代码。在这一步之后,该值将用于脚本中。

我们如何去除 Jenkinsfile 中的尾随连字符?

pipeline {
  environment {
    imageName = "example.org/myapp/myapp-${env.BRANCH_NAME.toLowerCase()}"
  }
  agent any
  stages {
    stage('Fixup Variables') {
      steps {
        script {
          imageName = StringUtils.stripEnd(imageName, "-")
        }
      }
    }
  }
}

最简单的方法是使用正则表达式字符串替换。正则表达式将匹配字符串末尾的任何 - 字符。我还建议修改 environment 指令中的字符串以使其更清晰并保证管道内的范围:

environment {
  imageName = "example.org/myapp/myapp-${env.BRANCH_NAME.toLowerCase().replace('-$', '')}"
}