2017-08-09 1 views
1

J'utilise le npm GitHub API.Modification et ajout d'un message de validation à un fichier à l'aide de l'API GitHub

Et j'ai quatre éléments de données.

  1. l'arbitre au dossier que je veux mettre à jour
  2. le chemin vers le fichier que je veux mettre à jour
  3. le nouveau contenu que je veux être dans ce fichier
  4. commit message que je veux pour cette edit

De plus, je peux m'authentifier auprès de l'API, et avoir accès à ce repo.

Comment puis-je maintenant éditer ce fichier et pousser ce commit?

const GitHub = require('github-api') 

const gh = new GitHub({ 
    token: config.app.git_token, 
}, githubUrl) 
const repo = gh.getRepo(config.app.repoOwner, config.app.repoName) 
repo.getRef(`heads/${config.app.repoBranch}`).then((response) => { 
    const ref = response.data.object.sha 
    const path = 'README.md' 
    const content = '#Foo Bar\nthis is foo bar' 
    const message = 'make readme foo bar' 

    console.log('ref to the file i want to update') 
    console.log(ref) 

    console.log('path to the file i want to update') 
    console.log(path) 

    console.log('contents i now want in this file') 
    console.log(content) 

    console.log('commit message message') 
    console.log(message) 

    // how do i now edit and add a commit to this remote file? 
}) 

J'ai essayé d'utiliser .commit mais, jusqu'à présent, ne l'ont pas eu à travailler, je ne comprends pas comment générer les params correctes à cet appel de fonction.

Répondre

0

L'a reçu!

est ici la syntaxe de la façon de procéder:

const GitHub = require('github-api') 

const gh = new GitHub({ 
    token: config.app.git_token, 
}, githubUrl) 
const repo = gh.getRepo(config.app.repoOwner, config.app.repoName) 
const branch = config.app.repoBranch 
const path = 'README.md' 
const content = '#Foo Bar\nthis is foo bar' 
const message = 'add foo bar to the readme' 
const options = {} 
repo.writeFile(
    branch, 
    path, 
    content, 
    message, 
    options 
).then((r) => { 
    console.log(r) 
}) 

je avais besoin d'utiliser la méthode .writeFile!