Jenkins子串环境变量

时间:2014-06-25 18:06:55

标签: bash jenkins environment-variables substring

我正在使用Jenkins和提供以下环境变量的Git plugin

  
      
  • GIT_COMMIT:当前的SHA
  •   
  • GIT_BRANCH:当前正在使用的分支的名称,例如“master”或“origin / foo”
  •   
  • GIT_PREVIOUS_COMMIT:来自同一分支的上一个构建提交的SHA(分支中第一个构建的当前SHA)
  •   
  • GIT_URL:存储库远程网址
  •   
  • GIT_URL_N:当存在多个遥控器时的存储库远程URL,例如GIT_URL_1,GIT_URL_2
  •   
  • GIT_AUTHOR_EMAIL:提交者/作者电子邮件
  •   
  • GIT_COMMITTER_EMAIL:提交者/作者电子邮件
  •   

使用Version Number Plugin,我有一个${GIT_COMMIT}变量,按预期读取。

问题是,它是完整的32(?)字符SHA哈希。我想把它的一个子串。有没有办法在Jenkins中获取环境变量的子字符串?

1 个答案:

答案 0 :(得分:8)

在bash中(我假设你用它标记问题后想知道的是什么),你可以使用以下语法来实现:${string:start_position:length}

你可以提取,例如通过编写哈希的前8个字符:

${GIT_COMMIT:0:8}

我从这里采取了这个解决方案:http://tldp.org/LDP/abs/html/string-manipulation.htm