Octokitを使用してGitHubリポジトリ内のファイルを作成、更新、削除できるWindowsフォームアプリケーションを開発しようとしています。Octokitを使用してGitHubリポジトリ内のファイルを更新する
public Form1()
{
InitializeComponent();
var ghClient = new GitHubClient(new ProductHeaderValue("Octokit-Test"));
ghClient.Credentials = new Credentials("-personal access token here-");
// github variables
var owner = "username";
var repo = "repository name";
var branch = "master";
// create file
//var createChangeSet = ghClient.Repository.Content.CreateFile(owner,repo,"path/file2.txt",new CreateFileRequest("File creation", "Hello World!", branch));
// update file
var updateChangeSet = ghClient.Repository.Content.UpdateFile(owner, repo,"path/file2.txt", new UpdateFileRequest("File update","Hello Universe!", "SHA value should be here", branch));
}
まず、完全に機能するファイルを作成しました(コメントアウトされたコードを確認してください)。 「UpdateFileRequest」のための要件は、どのように
UpdateFileRequest(string message, string content, string sha, string branch)
あるので、次にあなたが見ることができるように私は
var updateChangeSet = ghClient.Repository.Content.UpdateFile(owner, repo,"path/file2.txt", new UpdateFileRequest("File update","Hello Universe!", "SHA value should be here", branch));
、使用してそのファイルを更新しようとした、このような状況で、私は、SHA値を取得する必要がありますGitHubから私のファイルのSha値を受け取ることはできますか?
私はthisチュートリアルを次のですが、私は(createChangeSetをコメントアウトせずに)「createChangeSet.Content.Sha」をしようとすると、それは「コンテンツ」の下に赤い線を描画し、言う、
Task<RepositoryChangeSet> does not contain a definition for 'Content' and no extention method 'Content' accepting a first argument of type Task<RepositoryChangeSet> could be found
私はGitHub Documentationを見て
ファイルやディレクトリの内容をリポジトリに戻すには、このようにしてsha値を取得できると仮定します。
ファイルを更新するためにその値を使用できるように、リポジトリ内のファイルのsha値を受け取るためにこのメソッドを実装するにはどうすればよいですか?
このソリューションは完全に機能します。どうもありがとうございました! – coder
しかし、同じようにGitHubからファイルの内容を取得するにはどうすればよいですか? – coder
コンテンツはそこにあるはずです--GitHub Apiのドキュメントをご覧ください:https://developer.github.com/v3/repos/contents/#get-contents –