如何使用GitHub GraphQL API的createIssue正确创建Issue?
createIssue Mutation 正确使用指南
现有代码触发报错的核心原因
对照GraphQL的接口入参校验规则,你当前提交的代码存在两个硬性格式问题:
- 字段类型不匹配:
assigneeIds为字符串数组类型,即使仅为单个用户指派Issue,也需要用方括号将ID包裹为列表结构,直接传入单个字符串会触发类型校验报错 - 缺失返回字段定义:GraphQL 规范要求所有查询、mutation操作必须明确指定需要返回的字段,你当前仅编写了操作逻辑、未定义返回值,会直接被校验拦截
修正后的可运行代码示例
你可以参考下面的结构调整代码,替换占位的ID值即可正常调用:
mutation { createIssue(input: { repositoryId: "你的实际仓库XXXX", title: "TestIssue", body: "Not able to create an issue", assigneeIds: ["你的实际被指派用户IDXXXX"] }) { issue { id number url } } }
常见排错参考
- 修正格式后如果仍然调用失败,可以先移除所有非必填参数,仅保留必填的
repositoryId、title做最小化测试,逐步定位是ID值无效、格式不对还是权限不足导致的问题 - 提前确认使用的访问令牌已开通对应仓库的写入权限,权限缺失场景下即使参数格式完全正确,也会返回调用失败
内容的提问来源于stack exchange,提问作者Víctor
相关产品推荐
相关产品推荐

