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

如何在GitHub Action中将PR assignees正确设置为环境变量

报错原因

github.event.pull_request.assignees 是一个数组类型(YAML中称为序列)的变量,存储了所有assignee的完整信息对象,而GitHub Actions的env字段只接受字符串类型的赋值,直接将数组传入会触发YAML语法校验失败,就是你看到的A sequence was not expected报错。

修复方案

你可以根据自己的需求选择以下两种方案之一:

方案1:仅提取assignee的用户名(推荐,适合你的需求场景)

使用GitHub Actions内置的join过滤器和对象属性通配符,直接提取所有assignee的登录名,拼接为逗号分隔的字符串赋值给环境变量:
将你配置中env段的assignees行修改为:

assignees: ${{ join(github.event.pull_request.assignees.*.login, ',') }}

对应的Python代码中读取方式:

import os

# 读取环境变量并拆分得到assignee列表
assignee_list = os.getenv('assignees', '').split(',')
# 过滤空值,兼容无assignee的情况
assignee_list = [item.strip() for item in assignee_list if item.strip()]

方案2:获取完整的assignee信息

如果你需要用到assignee的更多字段(比如用户ID、头像地址等),可以用toJSON过滤器将数组转为JSON字符串赋值:

assignees: ${{ toJSON(github.event.pull_request.assignees) }}

对应的Python代码中读取方式:

import os
import json

assignee_list = json.loads(os.getenv('assignees', '[]'))
额外注意

你当前配置中if判断里的&&是HTML转义后的内容,实际YAML配置中要改成原生的&&,否则判断逻辑会失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:54:00