Content API 旨在在您更新文件时覆盖文件的内容,因此您需要读取文件的内容并附加新行。
这是一个更新的示例,您可以根据需要进行调整。请注意,GitHub API 将默认提供 Base64 编码的内容。
var currentFileText = "";
var contents = await client.Repository.Content.GetAllContentsByRef(owner, repo, targetFilePath, branch);
var targetFile = contents[0];
if (targetFile.EncodedContent != null)
{
currentFileText = Encoding.UTF8.GetString(Convert.FromBase64String(targetFile.EncodedContent));
}
else
{
currentFileText = targetFile.Content;
}
var newFileText = string.Format("{0}\n{1}", currentFileText, "Added this new line");
var updateRequest = new UpdateFileRequest("API File update", newFileText, targetFile.Sha, branch);
var updatefile = await client.Repository.Content.UpdateFile(owner, repo, targetFilePath, updateRequest);