如何列出PR所有标签及输出关联标签数组(解决echo显示Array问题)
解决GitHub Actions中PR标签数组仅输出“Array”的问题
问题原因
github.event.pull_request.labels.*.name 是一个数组类型变量,直接通过 echo 引用时,Shell 会将其识别为数组对象,仅输出类型标识“Array”,而非数组内的具体标签内容。
解决方案
1. 用GitHub Actions内置函数拼接标签
使用 join 函数将数组元素拼接为字符串输出:
steps: - name: 输出PR标签 run: echo ${{ join(github.event.pull_request.labels.*.name, ', ') }}
示例输出:bug, enhancement, documentation
2. Shell循环遍历输出每个标签
如果需要逐个处理标签,可借助 jq 解析数组后循环:
steps: - name: 逐个输出PR标签 run: | # 将数组转为JSON格式后用jq提取每个元素 labels=$(echo '${{ toJSON(github.event.pull_request.labels.*.name) }}' | jq -r '.[]') for label in $labels; do echo "当前标签:$label" done
示例输出:
当前标签:bug 当前标签:enhancement
3. 输出完整数组JSON结构
若需要查看数组的完整结构,直接用 toJSON 转换输出:
steps: - name: 输出PR标签数组JSON run: echo ${{ toJSON(github.event.pull_request.labels.*.name) }}
示例输出:["bug","enhancement","documentation"]
内容的提问来源于stack exchange,提问作者Bertuz
相关产品推荐
相关产品推荐

