Токен, переданный в createTokenAuth, не является строкой: octokit, auth-token

Я пытаюсь создать приложение GitHub и следую https://probot.github.io/docs/ и https://octokit.github.io/rest.js/v17. По сути, это приложение nodejs.

У меня нет опыта работы с nodejs или машинописным текстом и даже с фреймворком probot.

PRIVATE_KEY_PATH находится в файле .env следующим образом:

PRIVATE_KEY_PATH=my-app.2020-04-03.private-key.pem

.Pem файл находится в корневой директории проекта

Typeof печатает строку: ------------- TypeOf token ---- строка

index.js

/**
 * This is the main entrypoint to your Probot app
 * @param {import('probot').Application} app
 */



        const{Octokit} = require("@octokit/rest");
        const{createAppAuth} = require("@octokit/auth-token");

         console.log('PRIVATE_KEY',process.env.PRIVATE_KEY_PATH);
         console.log('-------------TypeOf token ----', typeof process.env.PRIVATE_KEY_PATH)

         const appOctokit = new Octokit({
           authStrategy:createAppAuth,
           auth:{
             id:12345,
             privateKey: process.env.PRIVATE_KEY_PATH,
            //  privateKey: 'token ${process.env.PRIVATE_KEY_PATH}'
            }
         });

Я продолжаю получать ошибку ниже:

10:52:51.166Z ERROR probot: [@octokit/auth-token] Token passed to createTokenAuth is not a string

Не могу найти много справки по этой теме в Интернете. Я даже пробовал перемещаться по коду octokit https://github.com/octokit/auth-token.js/blob/master/src/index.ts, и, похоже, я не делаю ничего плохого в своем коде.

Существует не так много ресурсов, на которые можно было бы ссылаться по вопросам, связанным с приложениями GitHub или фреймворком probot, помимо документации. У Stackru тоже было около 20-30 вопросов, связанных с GitHub Apps или пробной структурой.

РЕДАКТИРОВАТЬ 1: НАЧАТЬ

Запуск ниже кода:

/**
 * This is the main entrypoint to your Probot app
 * @param {import('probot').Application} app
 */

 const{Octokit} = require("@octokit/rest");

 const{createAppAuth} = require("@octokit/auth-token");

 console.log('PRIVATE_KEY',process.env.PRIVATE_KEY_PATH);
 console.log('-------------TypeOf token ----', typeof process.env.PRIVATE_KEY_PATH)

выдает ошибку ниже:

ERROR probot: appFn is not a function
  TypeError: appFn is not a function

РЕДАКТИРОВАТЬ 1: КОНЕЦ

1 ответ

Решение

Если вы используете Probot, вам не нужно загружать собственный @octokit/rest или любой из @octokit/auth-* пакеты, все это встроено в Probot

Вы пробовали пример кода, показанный на https://probot.github.io/

module.exports = app => {
  app.on('issues.opened', async context => {
    const params = context.issue({
      body: 'Hello World!'
    })
    await context.github.issues.createComment(params)
  })
}

Probot автоматически прочитает содержимое вашего .env файл, найдите PRIVATE_KEY_PATH переменная среды, зачитайте содержимое файла в этом месте и настройте для вас аутентификацию JWT/ установки

Другие вопросы по тегам