0

我只是在寻找这样的东西

app.on('init', async context => {
 ...
})

基本上我只需要调用 github API,但我不确定是否有一种方法可以在不使用 Context 对象内的 API 客户端的情况下进行。

4

2 回答 2

0

我最终使用了 probot-scheduler

const createScheduler = require('probot-scheduler')
module.exports = app => {

  createScheduler(app, {
    delay: false
  })
  robot.on('schedule.repository', context => {
    // this is called on startup and can access context
  })
}

于 2018-10-01T13:54:13.150 回答
0

我尝试了 probot-scheduler 但它不存在 - 可能在更新中删除?

无论如何,我通过使用实际app对象进行了大量挖掘后设法做到了 - 它的.auth()方法返回一个包含 GitHubAPI 接口的承诺: https ://probot.github.io/api/latest/classes/application.html#auth

module.exports = app => {
    router.get('/hello-world', async (req, res) => {
        const github = await app.auth();
        const result = await github.repos.listForOrg({'org':'org name});
        console.log(result);
    })
}

.auth()如果您希望访问私有数据,则获取安装的 ID。如果调用空,客户端将只能检索公共数据。

您可以通过不带参数调用来获取安装 ID .auth(),然后listInstallations()

const github = await app.auth();
const result = github.apps.listInstallations();
console.log(result);

你会得到一个数组,其中包含你可以在.auth().

于 2019-02-03T12:34:47.680 回答