GitHub工作流创建组织Repo失败:"最多接受1个参数"报错求解
问题原因及解决办法
错误原因
核心问题是Issue标题包含空格,导致shell执行命令时把仓库名拆成了多个独立参数。
比如如果你的Issue标题是My New Repo,那$ORG_NAME/$NEW_REPO_NAME展开后会变成Test-Org/My New Repo,shell会按空格把这个字符串拆成Test-Org/My、New、Repo三个部分,再加上--public,总共4个参数。但gh repo create要求仓库名必须是单个完整参数,因此触发了accepts at most 1 arg(s), received 4的错误。
解决办法
把仓库名变量用双引号包裹,强制shell将其视为单个完整参数即可:
env: ORG_NAME: 'Test-Org' NEW_REPO_NAME: ${{ github.event.issue.title }} GH_TOKEN: ${{ secrets.ORG_ADMIN_TOKEN }} run: | gh repo create "$ORG_NAME/$NEW_REPO_NAME" --public
额外建议:GitHub仓库名虽支持空格,但实际使用中推荐用连字符(-)替代空格,避免后续可能出现的其他兼容性问题。如果需要自动替换标题里的空格,可以在环境变量中处理:
NEW_REPO_NAME: ${{ replace(github.event.issue.title, ' ', '-') }}
内容的提问来源于stack exchange,提问作者Kaiwinta
相关产品推荐
相关产品推荐

