チェックを 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:終わり