2013-05-24 25 views
19

GitHub's comment API sembra consentire di creare commenti su una richiesta pull, ma solo se si specifica un numero di linea specifico nel diff per commentare. C'è un modo per creare un commento sulla richiesta pull nel suo complesso, l'equivalente di digitare nella parte inferiore della schermata di richiesta pull nell'interfaccia web di GitHub?Crea commento su richiesta pull

+0

sono stato in grado di utilizzare un token OAuth2 inviato in un colpo di testa di fare il commento, ma è stato in grado di farlo con successo usando '-u" "' nella richiesta POST. – bennettbuchanan

risposta

21

Sì, è possibile. La sezione dei documenti API si fa riferimento si riferisce alla linea commenti (commenti su specifiche linee di commit nel req pull), e la documentazione dire:

Pull domanda di riesame commenti sono commenti su una porzione del unificata diff. Questi sono separati dai commenti di commit (che vengono applicati direttamente a un commit, al di fuori della vista Richiesta di pull) e commenti di emissione (che non fanno riferimento a una parte del diff unificato).

Quello che vi serve sono tali osservazioni problema, che sono spiegati nella parte superiore del this page:

Il Pull richiesta API consente di elencare, visualizzare, modificare, creare, e anche unire le richieste di pull. I commenti sulle richieste di pull possono essere gestiti tramite l'API Commenti dei problemi.

Quindi, per creare un commento di richiesta di pull, è effettivamente necessario creare un commento di rilascio (poiché una richiesta di pull crea un problema per gestirlo). Il page for Issue comments conferma:

L'API Commenti commenti supporta l'elencazione, la visualizzazione, la modifica e la creazione di commenti su problemi e richieste di pull.

Così, il request you need to make è:

POST /repos/:owner/:repo/issues/:number/comments 

Come fai a sapere quale URL questione commento al post di? Bene, se guardi lo response for getting a single pull request, vedrai che contiene un attributo chiamato _links e che questo attributo ha un attributo nidificato comments. Questo è l'URL che dovresti usare per leggere e creare commenti di richieste di pull, lo stesso da usare nella richiesta POST di cui sopra.

+0

Oh! Non sapevo che le richieste di pull fossero un sapore di problemi. Penso che funzionerà brillantemente. Grazie! – cbmanica

+2

Una nota che potrebbe essere utile per gli altri ... Le applicazioni non possono commentare i problemi. Gli utenti devono commentare i problemi. Pertanto non è possibile utilizzare l'ID client e il segreto client per l'autenticazione quando si tenta di creare commenti. –

0

Utilizzando GraphQL API v4, si avrebbe bisogno di ottenere il Pull Request ID utilizzando pullrequest schema ed eseguire addComment mutazione in seguito:

query FindPullRequestID { 
    repository(owner:"bertrandmartel", name:"ustream-dl") { 
    pullRequest(number:2) { 
     id 
    } 
    } 
} 

mutation AddPullRequestComment { 
    addComment(input:{subjectId:"MDExOlB1bGxSZXF1ZXN0MTU0NzExOTA0",body: "test comment"}) { 
    commentEdge { 
     node { 
     createdAt 
     body 
     } 
    } 
    subject { 
     id 
    } 
    } 
} 

Try it in the explorer

Problemi correlati