1

チェックを GitHub アプリに実装しようとしています。私のアプリは probot で構築されています。

私はチェックを実装することができません。いくつかの異なるセットアップを含むルビーの例を示すドキュメントを調べてみました(プロボットで必要かどうかはわかりません)。そこの例と混同しました。

以下は私の 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 について不平を言います。これはまさにcreate行のメソッドですawait context.github.checks.create

上記のコードは、チェックtest-check-1を作成するのに十分ですか、それとも他のことも処理する必要がありますか? リポジトリのブランチ保護設定で、「マージ前に合格する必要のあるステータスチェック」オプションが既に有効になっています。そのセクションには、申し訳ありませんが、先週、このリポジトリのステータス チェックが見つかりませんでしたと表示されます。

すべてを接続する方法がわからない。

編集 1: 開始

以下は、@OscarDOM によって提案された必要なパラメーターを含めた後のコードです:--

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"
      })
  })

残念ながら、まったく同じ行と列で同じエラーが発生します。

編集1:終わり

編集2:開始

以下は、mediaType パラメータの修正を含めた後の最終的な作業コードです。

私が修正しなければならなかったもう1つの間違いがあったことに注意してください。それは所有者の値のパラメータです。正しい方法は、context.payload.repository.owner.login を指定することです。これは、この StackOverflow の投稿から最近学んだことです。

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"
      })
  })

編集2:終わり

4

1 に答える 1