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

如何提取GitHub Actions工作流日志中的制品下载URL并存储为变量用于Teams通知

提取GitHub Actions制品下载URL并复用的两种方法

方法一:利用upload-artifact官方输出(推荐,稳定可靠)

actions/upload-artifact@v4本身就提供了制品下载URL的输出变量,完全不用手动解析日志,步骤如下:

  1. 你的上传步骤已经设置了id: upload-artifact,直接在后续步骤里读取它的输出即可。如果要把URL存入环境变量供Teams通知使用,添加这样的步骤:
- name: 保存制品下载URL到环境变量
  if: ${{ !cancelled() }}
  run: |
    echo "ARTIFACT_DOWNLOAD_URL=${{ steps.upload-artifact.outputs.download-url }}" >> $GITHUB_ENV
  1. 后续的Teams通知步骤里,直接用${{ env.ARTIFACT_DOWNLOAD_URL }}调用这个变量就行。

方法二:解析日志提取URL(不推荐,日志格式可能变动)

如果一定要从日志里提取,可通过shell命令过滤出目标行再提取地址:

- name: 从日志提取制品URL并保存
  if: ${{ !cancelled() }}
  run: |
    # 过滤出包含"Artifact download URL:"的日志行,提取URL部分
    ARTIFACT_URL=$(grep "Artifact download URL:" $GITHUB_WORKSPACE/actions-runner/_diag/Worker_*.log | sed 's/Artifact download URL: //')
    echo "ARTIFACT_DOWNLOAD_URL=$ARTIFACT_URL" >> $GITHUB_ENV

注意:日志路径可能因runner环境不同有所变化,而且这种方法完全依赖日志格式,一旦GitHub调整日志输出就会失效,优先用方法一。

之后在Teams通知步骤里,用${{ env.ARTIFACT_DOWNLOAD_URL }}就能引用这个URL了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:00:02