2015-05-18 9 views

Odpowiedz

12

Możesz użyć do tego interfejsu API GitHub. Tworzenie webhook i dodać problem w następujący sposób:

POST /repos/:owner/:repo/issues 

Przykład z https://developer.github.com/v3/issues/

{ 
    "title": "Found a bug", 
    "body": "I'm having a problem with this.", 
    "assignee": "octocat", 
    "milestone": 1, 
    "labels": [ 
    "Label1", 
    "Label2" 
    ] 
} 

Więc wszystko co musisz zrobić, to HTTP - dowodzenia, aby dodać problemu.

Możesz wysłać wiadomość pocztową za pomocą WebRequest.

Kompletny opis dla API: https://api.github.com/repos/octocat/Hello-World/issues/1347

Kompletna C# -Example:

public void CreateBug(Exception ex) { 
    WebRequest request = WebRequest.Create ("https://api.github.com/repos/yourUserName/YourRepo/issues "); 
    request.Method = "POST"; 
    string postData = "{'title':'exception occured!', 'body':'{0}','assignee': 'yourUserName'}"; 
    byte[] byteArray = Encoding.UTF8.GetBytes (string.Format(postData,ex)); 
    request.ContentLength = byteArray.Length; 
    Stream dataStream = request.GetRequestStream(); 
    dataStream.Write (byteArray, 0, byteArray.Length); 
    dataStream.Close(); 
    WebResponse response = request.GetResponse(); 
} 

Teraz twój problem został utworzony i odpowiedzi zawiera odpowiedzi z GitHub

jest to „szybki , łatwe "rozwiązanie. Jeśli chcesz zrobić więcej dzięki problemom z GitHubem, odpowiedź @ VonC może być lepsza, ponieważ oferuje rozwiązanie bardziej związane z obiektami.

8

Jeśli chcesz utworzyć problemy w repozytorium GitHub programowo za pomocą C#, możesz odwołać się do Projekt C# octokit/octokit.net, który będzie korzystać z interfejsu API GitHub.

Może create issue:

var createIssue = new NewIssue("this thing doesn't work"); 
var issue = await _issuesClient.Create("octokit", "octokit.net", createIssue); 

Create zwraca Task<Issue> która reprezentuje utworzony problem.

Powiązane problemy