How can I programmatically add issues on my Github repository using C#?
I have an Error Handler library (ErrorControlSystem
) to attach that in a win application to raise that exceptions on a SQL table.
Now, I want to store ErrorControlSystem
self exceptions without the target app exceptions on self Github repository issues.
How to can I do it?
You can use the GitHub API for that. Create a webhook and add an issue the following way:
POST /repos/:owner/:repo/issues
Example from 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"
]
}
So all you have to do is a HTTP - POST command to add an issue.
You can do a post request using a WebRequest.
Complete description for the api: https://api.github.com/repos/octocat/Hello-World/issues/1347
Complete 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 ();
}
Now your issue has been created and response contains the response from GitHub
This is the "fast, easy" solution. If you want do do more with GitHub issues, @VonC's answer might be the better one as it offers a more object-related solution
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With