首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果条件在GitLab CI中失败

如果条件在GitLab CI中失败
EN

Stack Overflow用户
提问于 2022-10-17 14:20:06
回答 1查看 14关注 0票数 2

以下是我的Gitlab CI代码:

代码语言:javascript
复制
stages:
  - check

variables:
  JIRA_HEADER: "Accept: application/json"

jira:
  stage: check
  before_script:
    #- apk add jq curl
    - apk add --no-cache bash jq curl
    
  image: python:3.7.4-alpine3.9
  script:
    - export MERGE_REQUEST_JIRA_ID=$(echo ${CI_MERGE_REQUEST_TITLE} | sed -r "s/^([A-Za-z][A-Za-z0-9]+-[0-9]+).*/\1/")
    - echo $CI_MERGE_REQUEST_TITLE
    
    - export JIRA_DETAIL=$(curl -u ${JIRA_USERNAME}:${JIRA_PASSWORD} -H "${JIRA_HEADER}" -X GET https://${JIRA_SERVER}/rest/api/2/issue/${MERGE_REQUEST_JIRA_ID}?fields=status)
    - echo $JIRA_DETAIL

    # extract the JIRA key id, this also validates JIRA issue referenced is valid
    - export JIRA_KEY_ID=$(echo ${JIRA_DETAIL} | jq -e '.key')
    - echo $JIRA_KEY_ID

    # extract the JIRA status
    - export JIRA_STATUS=$(echo ${JIRA_DETAIL} | jq '.fields.status.name')
    - echo $JIRA_STATUS
    - |
       if [[ "$JIRA_STATUS" == "^(Done|Completed|Closed)$" ]] 
        then 
          echo "Invalid JIRA (Done/Completed/Closed) found!"
          exit 1
        else echo "Valid JIRA Id found!" 
       fi    
  only:
    - merge_requests

我试图通过从合并请求的标题中检索JIRA id之后调用它的API来验证Jira状态。If条件在if [[ "$JIRA_STATUS" == "^(Done|Completed|Closed)$" ]]下面有一个问题,因为它没有正确地验证它。每次,其他条件都是执行并打印消息,作为有效的JIRA!,如果有人能帮我解决这个小问题,我会非常感激的。我希望在if块中使用此消息优雅地退出作业,无效的JIRA (完成/完成/关闭)在发现Jira状态为完成、已完成或关闭的任何给定值时!。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-18 06:02:23

我终于能够通过修改下面的代码来解决这个问题:-

代码语言:javascript
复制
- |
      if test -z "$(echo ${JIRA_STATUS} | sed -r "s/\"(Done|Completed|Closed)\"//")" 
        then 
          echo "Not a valid Jira (Done/Completed/Closed)"; exit 1
        else 
          echo "Valid Jira found!"; echo $?
      fi

我在Linux中使用了test命令和if-test条件来使它工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74098748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档