Токен, переданный в 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/ установки