2015-05-18 13 views
8

पर मेरे सी # अनुप्रयोग समस्याओं को स्वचालित करने के लिए स्वचालित करें कैसे एक SQL तालिका पर अपवादों को बढ़ाने के लिए एक जीत अनुप्रयोग में संलग्न करने के लिए मेरे पास Error Handler library (ErrorControlSystem) है।Github प्रोग्रामेटिक

अब, मैं ErrorControlSystem स्वयं गिटब रिपोजिटरी मुद्दों पर लक्षित ऐप अपवादों के बिना स्वयं अपवादों को स्टोर करना चाहता हूं।

मैं इसे कैसे कर सकता हूं?

+2

सी # कोड द्वारा मेरे गीथब भंडार पर मुद्दों को कैसे जोड़ा जाए? – Behzad

उत्तर

12

आप इसके लिए गिटहब एपीआई का उपयोग कर सकते हैं। एक webhook बनाएँ और एक मुद्दा नीचे दिए तरीक़े जोड़ें: - एक मुद्दा जोड़ने के लिए पोस्ट आदेश से 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" 
    ] 
} 

POST /repos/:owner/:repo/issues 

उदाहरण तो तुम सब करने की है एक HTTP है।

आप WebRequest का उपयोग करके एक पोस्ट अनुरोध कर सकते हैं।

एपीआई के लिए पूरा विवरण: https://api.github.com/repos/octocat/Hello-World/issues/1347

पूरा सी # -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(); 
} 

अब आपकी समस्या बना दिया गया है और प्रतिक्रिया GitHub

से प्रतिक्रिया यह "तेजी से होता है , आसान "समाधान। यदि आप गिटहब मुद्दों के साथ और अधिक करना चाहते हैं, तो @ VonC का उत्तर बेहतर हो सकता है क्योंकि यह अधिक ऑब्जेक्ट से संबंधित समाधान

8

यदि आपको C# के साथ प्रोग्रामेटिक रूप से गिटहब रेपो पर समस्याएं बनाने की आवश्यकता है, तो आप इसका उल्लेख कर सकते हैं सी # प्रोजेक्ट octokit/octokit.net जो गिटहब एपीआई का उपयोग करेगा।

यह create issue कर सकते हैं:

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

Create रिटर्न एक Task<Issue> जो बनाया मुद्दा प्रतिनिधित्व करता है।

 संबंधित मुद्दे