使用 GitHub 的 REST API 更新带有多行描述的版本

Using GitHub's REST API to update a release with a multi-line description

我正在使用 JSON 使用该版本的提交列表更新 GitHub 版本的描述。

问题是,如果描述有换行符,命令会失败:

Stdout: {
Stdout:   "message": "Problems parsing JSON",
Stdout:   "documentation_url": "https://developer.github.com/v3"
Stdout: }

我让它工作的唯一方法是用 space:

替换换行符
def API_JSON = sprintf ('{"body": "%s"}', description.replace('\n',' '));

但是,如果没有换行符,描述将难以阅读。有没有办法使用 API/JSON 设置 GitHub 版本的描述并保留换行符?

找出答案,换行:

def API_JSON = sprintf ('{"body": "%s"}', description.replace('\n','<br />'));

希望这对其他人有帮助:)

你也可以使用\r\n,只是不支持\n

curl -i -X 'POST' https://api.github.com/repos/:owner/:repo/releases/?access_token=:token' -d 
{
  "body": "My\r\nName"
}