azuredevops 中的 Shell 脚本任务不适用于 Jfrog 中的资源存在性检查

问题描述 投票:0回答:0

我有一个 azuredevops 脚本任务来根据结果检查工件组和操作的存在。我正在使用 jfrog api 调用来检查是否存在,并且不会获得通用输出参数来检查是否存在,例如:对于不存在,它将是 404,但对于存在,它将显示详细信息而不是响应 200.

stages:
  - ${{ each project in parameters.projectList }}:  
    - stage: Group_Creation_${{ project.projectname }}
      displayName: 'Group cration for the ${{ project.projectname }}'
      variables:
          - group: jfrog-config
      pool: 
        name: az-dev
      jobs:
        - job: GroupExistanceCheck

          - script: |
               echo "Checking if Groups already exists..."
               exists_grp=$(curl -u '$(jfuser):$(jfpass)' -X GET "$(jfurl)/api/security/groups/${{ project.projectname }}-developers" | jq .name)
               if [[ "$exists_grp" == ${{ project.projectname }}-developers ]] ; then
                 echo "${{ project.projectname }}-developers is existing and nothing to do"
               fi  
               if [[ "$exists_grp" = null ]]; then
                 echo "${{ project.projectname }}-developers is NOT existing and will be creatiing now"
                 /azp/_work/_tool/jf/2.25.5/x64/jf rt group-create ${{ project.projectname }}-developers --url $(jfurl) --user $(jfuser) --password $(jfpass)
               fi
            displayName: 'check Developer Group Existance & create if not existing'

这里即使组已经存在,它也不会打印并采取相应的行动只是跳过部分

shell azure-devops azure-devops-rest-api jfrog-cli jfrog
© www.soinside.com 2019 - 2024. All rights reserved.