如何以编程方式自动将我的 C# 应用程序问题添加到 Github
How to automate add my c# application issues to Github programmatically
如何使用 C# 以编程方式在我的 Github 存储库中添加问题?
我有一个 Error Handler library (ErrorControlSystem
) 可以将其附加到 win 应用程序中以在 SQL table.
上引发异常
现在,我想存储 ErrorControlSystem
自身异常,而没有针对自身 Github 存储库问题的目标应用异常。
我该怎么做?
您可以为此使用 GitHub API。创建一个 webhook 并通过以下方式添加问题:
POST /repos/:owner/:repo/issues
示例来自 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"
]
}
所以你所要做的就是一个 HTTP - POST 命令来添加一个问题。
您可以使用 WebRequest 执行 post 请求。
api 的完整说明:
https://api.github.com/repos/octocat/Hello-World/issues/1347
完整的 C#-示例:
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
的响应
这是"fast, easy"解决方案。如果您想对 GitHub 问题做更多的事情,@VonC 的答案可能是更好的答案,因为它提供了一个更与对象相关的解决方案
如果您需要使用 C# 以编程方式在 GitHub 存储库上创建问题,您可以参考将使用 GitHub API 的 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
returns 代表创建的问题的 Task<Issue>
。
如何使用 C# 以编程方式在我的 Github 存储库中添加问题?
我有一个 Error Handler library (ErrorControlSystem
) 可以将其附加到 win 应用程序中以在 SQL table.
现在,我想存储 ErrorControlSystem
自身异常,而没有针对自身 Github 存储库问题的目标应用异常。
我该怎么做?
您可以为此使用 GitHub API。创建一个 webhook 并通过以下方式添加问题:
POST /repos/:owner/:repo/issues
示例来自 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"
]
}
所以你所要做的就是一个 HTTP - POST 命令来添加一个问题。
您可以使用 WebRequest 执行 post 请求。
api 的完整说明: https://api.github.com/repos/octocat/Hello-World/issues/1347
完整的 C#-示例:
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
的响应这是"fast, easy"解决方案。如果您想对 GitHub 问题做更多的事情,@VonC 的答案可能是更好的答案,因为它提供了一个更与对象相关的解决方案
如果您需要使用 C# 以编程方式在 GitHub 存储库上创建问题,您可以参考将使用 GitHub API 的 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
returns 代表创建的问题的 Task<Issue>
。