Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github 无法在我的集成中实现签入,获取';地图未定义';用于创建检查方法_Github_Github Api_Probot_Github App - Fatal编程技术网

Github 无法在我的集成中实现签入,获取';地图未定义';用于创建检查方法

Github 无法在我的集成中实现签入,获取';地图未定义';用于创建检查方法,github,github-api,probot,github-app,Github,Github Api,Probot,Github App,我正在尝试对我的GitHub应用程序进行检查。我的应用程序是用probot构建的 我只是无法实施检查。我已经试着阅读了演示ruby示例的文档,该示例包括几个不同的设置(不确定probot是否需要)。 我只是对那里的例子感到困惑 下面是my index.js中的代码: app.on('check_suite.requested', async context =>{ console.log('************------------ check suite request

我正在尝试对我的GitHub应用程序进行检查。我的应用程序是用probot构建的

我只是无法实施检查。我已经试着阅读了演示ruby示例的文档,该示例包括几个不同的设置(不确定probot是否需要)。 我只是对那里的例子感到困惑

下面是my index.js中的代码:

app.on('check_suite.requested', async context =>{
      console.log('************------------ check suite requested')
      await context.github.checks.create({
        mediaType:'application/vnd.github.antiope-preview+json',
        name : 'test-check-1',
        head_sha: context.payload.check_suite.after,
        conclusion: "success"
      })
  })
我得到下面的错误

 ERROR probot: Cannot read property 'map' of undefined
  TypeError: Cannot read property 'map' of undefined
错误日志抱怨index.js:24:35,这正是
wait context.github.checks.create
行中的
create
方法

上述代码是否足以创建checktest-check-1,或者我是否还需要处理其他事情。我已经在回购协议的分支保护设置下启用了“合并前通过所需状态检查”选项。 该部分显示抱歉,我们在上周找不到此存储库的任何状态检查。

不知道如何连接所有东西

编辑1:开始

以下是包含@OscarDOM建议的所需参数后的代码:--

不幸的是,我仍然在完全相同的行和列中得到相同的错误

编辑1:END

编辑2:开始

以下是包含mediaType参数更正后的最终工作代码:

请注意,我还要纠正一个错误,那就是值所有者参数。正确的方法是指定context.payload.repository.owner.login,这是我最近学到的东西


编辑2:END

是否需要将所有者和存储库传递给
context.github.checks.create()
方法?我认为它们是必需的属性:

另外,请确保Github应用程序具有以下权限:
检查:write
()


另外,检查代码片段时,您似乎没有正确使用
mediaType
。如果检查类型定义,则mediaType具有以下结构:

媒体类型:{
格式?:字符串,
预览?:字符串[]
}
此处参考:

你能用这个试试吗

app.on('check_suite.requested',异步上下文=>{
console.log('************--------------检查请求的套件')
等待context.github.checks.create({
所有者:“”,
回购协议:,
mediaType:{previews:['antiope']},
名称:“test-check-1”,
head\u sha:context.payload.check\u suite.after,
结论:“成功”
})
})


作为一般反馈,我建议您尝试使用TypeScript,使用它可以发现这些问题:)

当然。我必须使之成为可能。:)如果它说参数是必需的,那么就无法逃脱。错过了它,我感到很傻。但我确实提供了支票写权限。我将传递这些reqd参数,并与您分享我的发现。多谢各位@OscarDOM@AsifKamranMalick已编辑的响应,可能缺少需要应用的更改:)确定。我想我也这么做了,但这对我来说从来都不起作用。我将编辑我的OP,在“编辑1”部分中,我将提供在您提出第一个建议后对代码所做的更改。我认为唯一的区别是指定mediaType的方式。我也会尝试。但是请检查编辑,让我知道是否正确。其他看起来不错,但没有mediaType修复,您希望能够与API通信。让我们知道你的尝试成功后的情况。非常感谢。:)我可以在“支票”选项卡中找到它们。还有一件事我必须处理,即owner.login,而不仅仅是owner。
app.on('check_suite.requested', async context =>{
      console.log('*****check suite requested*****')
      context.github.checks.create({
        owner:context.payload.repository.owner,
        repo:context.payload.repository.name,
        mediaType:'application/vnd.github.antiope-preview+json',
        name : 'test-check-1',
        head_sha: context.payload.check_suite.after,
        conclusion: "success"
      })
  })
app.on('check_suite.requested', async context =>{
      console.log('*****check suite requested*****')
      context.github.checks.create({
        owner:context.payload.repository.owner.login,
        repo:context.payload.repository.name,
        mediaType: { previews: ['antiope']},
        name : 'test-check-1',
        head_sha: context.payload.check_suite.after,
        conclusion: "success"
      })
  })