shell脚本识别JIRA关键
以下线在我詹金斯作业配置执行shell检索JIRA关键shell脚本识别JIRA关键
JIRA_KEY=$(curl --request GET "http://jenkins-server/job/myProject/job/mySubProject/job/myComponent/${BUILD_NUMBER}/api/xml?xpath=/*/changeSet/item/comment" | sed -e "s/<comment>\(.*\)<\/comment>/\1/")
JIRA_KEY=$(echo $JIRA_KEY | cut -c10-17)
但在情况下,如果文本不与JIRA键,然后开始按照目前的逻辑,将指派任何文本在10-17范围内。当jira键在<comment>
中不存在时,我需要在变量JIRA_KEY中存储空字符串“”,我们该怎么做?
这是我在评论部分中提到,目前尚不清楚你需要的输出,所以基于一些假设,你可以请尝试以下,让我知道在相同的XML
<freeStyleBuild _class="hudson.model.FreeStyleBuild">
<changeSet _class="hudson.plugins.git.GitChangeSetList">
<item _class="hudson.plugins.git.GitChangeSet">
<comment>
JRA-1011 This is commit
message.
</comment>
</item>
</changeSet>
</freeStyleBuild>
。 我 - 如果你需要所有的字符串之间,那么你可以运行以下。
awk '/<\/comment>/{a="";next}/<comment>/{a=1;next}a' Input_file
II-如果你只需要找到JRA字符串,那么你可以做下面的事情。
awk '/<\/comment>/{a="";next}/<comment>/{a=1;next} a && /JRA/{match($0,/[a-zA-Z]+[^ ]*/);print substr($0,RSTART,RLENGTH)}' Input_file
原始帖子中的代码已经在执行此操作。 –
好的,那么请让我知道你期待的输出是什么? – RavinderSingh13
当jira键不在
不清楚,请你让我们知道什么是预期的输出,我看到你正在试图让人物从10到17,请添加更多的信息代码标签张贴。 – RavinderSingh13
正如在“我需要存储空字符串”一文中提到的,当jira键不在“”中时,变量JIRA_KEY中出现“ –