Не удается зафиксировать в репозитории, используя Octokat в node.js, чтобы использовать github api
Я пытаюсь установить соединение с API github с помощью пакета Octokat для node.js. Мне удается сделать некоторые вещи, такие как вход в систему, получить все репозитории для пользователя, создать новый репозиторий для пользователя, получить какой-то конкретный репозиторий и получить все коммиты для этого репозитория, но у меня возникают проблемы с коммитом.
Я действительно хочу знать, есть ли полный список методов октоката, потому что я изо всех сил пытаюсь найти это. В репозитории github для octokat написано, что нужно искать множество файлов, но я не нашел полного списка, только примеры.
Я делаю бэкэнд с большим количеством API-сервисов и интерфейсом, который его использует.
Вот что я делаю для коммита в бэкэнде:
router.post('/crearcommit', function (req,res, next){
this.repo.commits.fetch().then(function ({items}) {
let lastCommit = items[items.length - 1];
this.repo.git.commits.create({message: req.body.mensajeCommit, tree: lastCommit.commit.tree.sha, parents: [lastCommit.sha]}).
then(function (resultado) {
return this.repo.git.commits.add({"ref":"refs/heads/master","sha":resultado.sha}, function(err, val) {
if(err){
return res.status(500).json({
message: 'Error al commitear, : '+" err: "+err
});
}
res.status(200).json({
message: " Exito, err: "+err,
data: val
});
});
});
});
});
Где this.repo был установлен прежде, как это:
router.get('/usuariorepoinfo', function (req,res, next){
// obtiene un repositorio en particular
this.repo = this.octo.repos(this.usuarioGit, req.query.repositorio);
});
и вот так.окто вот так:
router.get('/usuariogituserpasword', function (req,res, next){
// se conecta a git con un usuario en particular
this.octo = new Octokat({
username: req.query.user,
password: req.query.password
});
});
Коммит был основан на этом: https://github.com/philschatz/octokat.js/blob/master/test/ruby-specs/commits.spec.js строки 31-38.
Часть this.repo.git.commits.add была создана мной, я понятия не имею, я просто пытаюсь что-то сделать... Я думаю, что, возможно, я создаю коммит, но я не нажимаю, может ли это быть?
Я следил за видео на YouTube, которое делало коммит с использованием github api и почтальона, и после звонка:
POST https://api.github.com/repos/ManuViola77/pruebaGitHub/git/commits
with Body content:
{
"parents": ["a78a559a978578c206392a027740943bbbc7dd41"],
"tree": "40c2ed57db9cfb0bc3eabf38568d8162789b06da",
"message": "nuevo commit desde la api."
}
(что я думаю, что это может быть часть, которую я делаю) он делает это:
POST https://api.github.com/repos/ManuViola77/pruebaGitHub/git/refs/heads/master
with Body content:
{
"sha": "682a513e2d82550778c4495edd7094733fdb987c" -> the new commit
}
я думаю, что это может быть то, что я скучаю.
Заранее спасибо, извините за беспорядок, надеюсь понятно для понимания проблемы, иначе просто спросите что я имел ввиду.