开发pull_request_review_thread webhook监听应用时出现类型报错
报错原因
这个TypeScript类型错误和业务逻辑无关,本质是当前项目依赖的GitHub Webhook类型定义文件中,没有收录pull_request_review_thread这个事件名,静态检查时无法匹配到对应的payload类型,就抛出了参数类型不兼容的提示。
解决步骤
- 升级框架依赖
从app.on、context.payload的写法判断你在使用Probot框架开发,直接升级Probot到最新稳定版即可,新版本已经内置了该事件的完整类型定义:
npm install probot@latest
如果你是直接基于@octokit/webhooks做底层开发,单独升级该依赖到最新版:
npm install @octokit/webhooks@latest
- 临时绕过类型校验(快速验证场景可用)
如果升级依赖后仍有报错,或者暂时不想升级版本,可以用类型断言跳过TS对事件名的校验,不会影响实际运行逻辑:
app.on("pull_request_review_thread" as any, async (context) => { app.log.info(context.payload); })
- 检查GitHub App后台配置
确认你在对应GitHub App的设置页,「Permissions & events」板块下的事件订阅列表里,已经勾选了Pull request review thread权限,否则代码调试正常后也无法收到GitHub推送的对应webhook请求。
注:你原本的事件名写法是正确的,监听该事件下所有action不需要额外加action后缀,不需要修改事件名字符串。
内容的提问来源于stack exchange,提问作者BerkayCalmaz
相关产品推荐
相关产品推荐

