Токен, переданный для createTokenAuth, не является строкой: octokit, auth-token - PullRequest
0 голосов
/ 06 апреля 2020

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

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

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

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

Файл .pem находится в каталоге root проекта

Тип печати строка: ------------- Тип токена ---- строка

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

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

Не так много ресурсов, чтобы обращаться за проблемами для GitHub Apps или инфраструктуры пробот кроме документации. В StackOverflow тоже есть около 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 Ответ

1 голос
/ 06 апреля 2020

Если вы используете 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 / установки для вас

...