Я создаю бота, который может захватить source.zip / source.targz из Github, затем внедрить его в мое приложение и применить новые изменения, но я не нашел способа загрузить релиз, потому что @ Octokit / Модуль отдыха, который я использую, получает только релиз. Не скачать. Другие npm пакеты не работают для меня, и если так, папка node_modules может стать очень большой, около 19 МБ. Когда я выполняю запрос https GET, Github требует, чтобы я использовал USERAGENT, но я не знаю, как использовать t ie в Octokit с простыми HTTPS-запросами.
Я хочу иметь возможность загружать релизы по код, но я получаю следующее в zipfile:
Запрос запрещен административными правилами. Убедитесь, что в вашем запросе есть заголовок User-Agent (http://developer.github.com/v3/#user -agent-required ). Проверьте https://developer.github.com на наличие других возможных причин.
var file = fs.createWriteStream('bot.zip')
var request = await https.get(releases[num].zipball_url, function(response) {
response.pipe(file)
})
//https://stackoverflow.com/questions/11944932/how-to-download-a-file-with-node-js-without-using-third-party-libraries
var octokit = new Octokit.Octokit({
userAgent: 'Github Bot Updater',
previews: ['jean-grey', 'symmetra'],
baseUrl: 'https://api.github.com',
log: {
debug: () => {},
info: () => {},
warn: console.warn,
error: console.error
},
request: {
agent: undefined,
fetch: undefined,
timeout: 0
}
})
var releases = await octokit.paginate("GET /repos/:owner/:repo/releases", { owner: username, repo: reponame})
//octokit has no method for downloading a release