Можно ли выполнить действие с `context` на инициализации приложения?
Я просто ищу что-то подобное
app.on('init', async context => {
...
})
По сути, мне просто нужно делать вызовы API github, но я не уверен, что есть способ сделать это без использования клиента API внутри объекта Context.
1 ответ
Я в конечном итоге с помощью пробот-планировщик
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
})
}
Я пробовал планировщик пробот, но он не существовал - возможно, удален в обновлении?
В любом случае мне удалось сделать это после множества копаний с использованием фактического app
объект - это .auth()
Метод возвращает обещание, содержащее интерфейс GitHubAPI: https://probot.github.io/api/latest/classes/application.html
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()
принимает идентификатор установки, если вы хотите получить доступ к личным данным. Если вызывается пустым, клиент может получать только общедоступные данные.
Вы можете получить идентификатор установки, позвонив .auth()
без параметров, а затем listInstallations()
:
const github = await app.auth();
const result = github.apps.listInstallations();
console.log(result);
Вы получаете массив, включающий идентификаторы, которые вы можете в .auth()
,