我正在尝试构建一个GitHub应用程序,并遵循https://probot.github.io/docs/和https://octokit.github.io/rest.js/v17#authentication。它基本上是一个nodejs应用程序。
我没有使用nodejs或类型记录的经验,甚至连probot框架都没有。
PRIVATE_KEY_PATH位于.env文件中,如下所示:
PRIVATE_KEY_PATH=my-app.2020-04-03.private-key.pem.pem文件位于项目的根目录中。
打印字符串:
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框架的问题,参考的资源不多。StackOverflow也有大约20-30个与GitHub应用程序或probot框架相关的问题。
编辑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: END
发布于 2020-04-06 17:52:09
如果您使用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/installation身份验证。
https://stackoverflow.com/questions/61058382
复制相似问题