C# を使用して Github リポジトリにプログラムで課題を追加するにはどうすればよいですか?
エラー ハンドラ ライブラリ ( ErrorControlSystem
)をwin アプリケーションにアタッチして、SQL テーブルで例外を発生させます。
ErrorControlSystem
ここで、自己 Github リポジトリの問題に関するターゲット アプリの例外なしで自己例外を保存したいと考えています。
どうすればできますか?
C# を使用して Github リポジトリにプログラムで課題を追加するにはどうすればよいですか?
エラー ハンドラ ライブラリ ( ErrorControlSystem
)をwin アプリケーションにアタッチして、SQL テーブルで例外を発生させます。
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 を使用して投稿リクエストを行うことができます。
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 からの応答が含まれるようになりました
これが「速くて簡単な」ソリューションです。GitHub の問題をさらに処理したい場合は、@VonC の回答の方がオブジェクト関連のソリューションを提供するため、より良いものになる可能性があります。
C# を使用してプログラムで GitHub リポジトリに問題を作成する必要がある場合はoctokit/octokit.net
、GitHub API を使用する C# プロジェクトを参照できます。
問題が発生する可能性があります:
var createIssue = new NewIssue("this thing doesn't work");
var issue = await _issuesClient.Create("octokit", "octokit.net", createIssue);
Create
Task<Issue>
作成された課題を表す を返します。