Как сканировать GitHub-репозиторий? - PullRequest
0 голосов
/ 07 июня 2019

Есть ли способ создать приложение Node.js, которое сканирует удаленный репозиторий GitHub?Мне нужно извлечь определенный файл из каждого удаленного репозитория GitHub, к которому у меня есть доступ (например, файлы Read.me), и загрузить их в определенную папку.Или я должен сначала клонировать каждый репозиторий с кодом приложения Node.js?

Ответы [ 2 ]

1 голос
/ 07 июня 2019

Вы можете клонировать любой репозиторий участников github с Node.js.Кстати, Github API нужен User-Agent для запроса.

Зависимости: Запрос , Дочерний процесс

const request = require("request");
const cProcess = require("child_process");

const g_username = "afulsamet"
const u_agent = "Test User Agent"

request.get(`https://api.github.com/users/${g_username}/repos`, { headers: { "User-Agent": u_agent } }, function (err, res, body) {
    JSON.parse(body).map(x => {
        cProcess.spawn("git", ["clone", x.git_url, x.name]) // git clone {repos_git_url} {folder_name}
    })
});
0 голосов
/ 07 июня 2019

Если вам нужен только один файл из каждого репо, и все они общедоступны, вы можете просто сделать http-запрос к необработанному URL-адресу git в этом формате, https://raw.githubusercontent.com/{username}/{repo}/{branch}/{pathtofile} простой пример будет:

const http = require('http');

http.get('https://raw.githubusercontent.com/nodejs/node/master/README.md', function(response) {
  // do something with response, pipe to another file etc.
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...