10

C# を使用して Github リポジトリにプログラムで課題を追加するにはどうすればよいですか?

エラー ハンドラ ライブラリ ( ErrorControlSystem)をwin アプリケーションにアタッチして、SQL テーブルで例外を発生させます。

ErrorControlSystemここで、自己 Github リポジトリの問題に関するターゲット アプリの例外なしで自己例外を保存したいと考えています。

どうすればできますか?

4

2 に答える 2

15

そのために 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 の回答の方がオブジェクト関連のソリューションを提供するため、より良いものになる可能性があります。

于 2015-05-21T11:26:32.183 に答える
14

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);

CreateTask<Issue>作成された課題を表す を返します。

于 2015-05-21T11:26:46.773 に答える