2013-05-24 35 views
19

GitHub's comment API dường như cho phép bạn tạo nhận xét về yêu cầu kéo, nhưng chỉ khi bạn cung cấp số dòng cụ thể trong phần khác để nhận xét. Có cách nào để tạo nhận xét về yêu cầu kéo tổng thể không, tương đương với việc nhập ở cuối màn hình yêu cầu kéo trong giao diện web của GitHub?Tạo nhận xét về yêu cầu kéo

+0

tôi đã không thể sử dụng một thẻ OAuth2 gửi trong một tiêu đề để thực hiện nhận xét, nhưng đã có thể thực hiện thành công bằng cách sử dụng '-u" "' trong yêu cầu POST. – bennettbuchanan

Trả lời

21

Có, điều đó là có thể. Phần tài liệu API bạn đang tham chiếu liên quan đến nhận xét dòng (nhận xét về các dòng cụ thể của các cam kết trong yêu cầu kéo) và các tài liệu nói:

Kéo yêu cầu xem xét Nhận xét là nhận xét trên một phần của thống nhất khác biệt. Đây là những tách biệt khỏi các Nhận xét Cam kết (được áp dụng trực tiếp cho một cam kết, bên ngoài giao diện Pull Request), và Issue Comments (không tham khảo một phần của sự khác biệt thống nhất).

Những gì bạn cần là những ý kiến ​​phát hành, được giải thích ở đầu this page:

Các Kéo Yêu cầu API cho phép bạn liệt kê, xem, chỉnh sửa, tạo và thậm chí kết hợp yêu cầu kéo. Nhận xét về yêu cầu kéo có thể được quản lý thông qua API nhận xét vấn đề.

Vì vậy, để tạo nhận xét yêu cầu kéo, bạn thực sự cần tạo nhận xét vấn đề (vì yêu cầu kéo tạo ra sự cố để quản lý). Số page for Issue comments xác nhận điều này:

API nhận xét hỗ trợ danh sách, xem, chỉnh sửa và tạo nhận xét về các vấn đề và yêu cầu kéo.

Vì vậy, request you need to make là:

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

Làm thế nào để bạn biết rằng những vấn đề bình luận URL để POST để? Vâng, nếu bạn nhìn vào số response for getting a single pull request, bạn sẽ thấy rằng thuộc tính đó có chứa thuộc tính được gọi là _links và thuộc tính này có thuộc tính lồng nhau comments. Đây là URL mà bạn nên sử dụng để đọc và tạo các nhận xét yêu cầu kéo, giống như được sử dụng trong yêu cầu POST ở trên.

+0

Ồ! Tôi không biết yêu cầu kéo là một hương vị của các vấn đề. Tôi nghĩ rằng điều này sẽ làm việc rực rỡ. Cảm ơn! – cbmanica

+2

Một lưu ý có thể hữu ích cho người khác ... Các ứng dụng không thể nhận xét về các vấn đề. Người dùng phải bình luận về các vấn đề. Vì vậy, bạn không thể sử dụng id ứng dụng khách và bí mật ứng dụng khách của mình để xác thực khi cố gắng tạo nhận xét. –

0

Sử dụng GraphQL API v4, bạn sẽ cần phải nhận được Pull Yêu cầu id sử dụng pullrequest Schema và thực hiện addComment đột biến sau:

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

Các vấn đề liên quan