You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps流水线中捕获Jfrog查询结果存入变量

实现方案

你之前操作失败的核心原因是JfrogCli@1任务的command参数仅接收jfrog原生命令,不会调用PowerShell解析管道操作,所以管道后的ConvertFrom-Json等语句不会被执行。可按以下两步配置:

  1. 先调整JfrogCli任务,将查询结果输出到临时JSON文件
- task: JfrogCli@1
  inputs:
    artifactoryService: connexion_service_id
    command: 'jfrog rt curl -XGET "/api/search/artifact?name=myApp.zip&repos=myRepo" > search_result.json'
  1. 新增PowerShell任务解析结果并设置为Pipeline变量
- task: PowerShell@2
  name: GetArtifactUri # 自定义任务名,跨任务/跨阶段调用变量需要
  inputs:
    targetType: inline
    script: |
      $searchResult = Get-Content ./search_result.json | ConvertFrom-Json
      # 提取首个匹配结果的uri
      $artifactUri = $searchResult.results[0].uri
      # 变量设置为isOutput=true可支持跨阶段调用,不需要可以去掉该参数
      Write-Host "##vso[task.setvariable variable=artifactUri;isOutput=true]$artifactUri"

变量使用说明

  • 同阶段后续任务直接使用$(artifactUri)即可获取地址
  • 跨阶段调用时需要通过依赖引用,格式为$[dependencies.上一阶段名.outputs['GetArtifactUri.artifactUri']]

内容的提问来源于stack exchange,提问作者GGO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:54:05