首页 > 解决方案 > 使用 Probot 创建关于快速路由响应的 Github 问题

问题描述

是否可以使用 Probot 在快速路线的响应中创建问题?我尝试了以下方法,但它们的异步函数无法访问 context.github。

 const createIssue = async function (issue, context) {
    const owner = issue.owner; const repo = issue.repo; const title = issue.title; const body = issue.body; const assignees = issue.assignees; const labels = issue.labels
    return context.github.issues.create({ owner, repo, title, body, labels, assignees })
  }
  const router = app.route('/robot')
  router.use(require('express').static('public'))
  router.get('/test', (req, res) => {
    const issue = {
      repo: 'reponame',
      owner: 'ownername',
      title: req.query.title,
      labels: req.query.lab,
      body: req.query.body,
      assignees: req.query.as
    }
    createIssue(issue, context).then(
      res.send('Success')
    ).catch(err => console.log(err))
  })

标签: javascriptexpressgithubgithub-apiprobot

解决方案


我认为这可能是您正在寻找的:https ://probot.github.io/api/latest/classes/application.html#auth

const createIssue = async function (issue, app) {
    const github = await app.auth();
    const owner = issue.owner; const repo = issue.repo; const title = issue.title; const body = issue.body; const assignees = issue.assignees; const labels = issue.labels
    return github.issues.create({ owner, repo, title, body, labels, assignees })
  }
  const router = app.route('/robot')
  router.use(require('express').static('public'))
  router.get('/test', (req, res) => {
    const issue = {
      repo: 'reponame',
      owner: 'ownername',
      title: req.query.title,
      labels: req.query.lab,
      body: req.query.body,
      assignees: req.query.as
    }
    const 
    createIssue(issue, app).then(
      res.send('Success')
    ).catch(err => console.log(err))
  })

推荐阅读