我想从Jenkins bash获取分支的详细信息。当我的Git分支为feature/ABC-1234
时,将分支取为ab1234的标准,否则仅返回小写的分支,例如developer或master。
我设法通过以下代码得到相同的结果:
BRANCH = """${sh(
returnStdout: true,
script: '''
echo "${GIT_BRANCH#*/}" > /tmp/test.txt ; grep -q 'feature/' /tmp/test.txt ; if [ $? -eq 0 ]; then a=$(echo "${GIT_BRANCH#*/}"| cut -d- -f1) && b=$(echo "${a}" | cut -d/ -f2) && c=$(echo "${GIT_BRANCH#*/}" | cut -d- -f2) && echo $b$c ; else echo "${GIT_BRANCH#*/}"; fi
'''
)}""".trim().toLowerCase()
但是,当git分支为feature/ABC-1234
时,我设法将abc1234作为分支名称,但是当grep返回退出代码1时,上面的代码在获得“ develop”分支时使Jenkins作业失败,然后它退出无法到达下一个if语句。
如何在詹金斯(Jenkins)bash中设法将$?
设为1?