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

时间:2016-11-11 01:22:43

标签: release github-api

我正在使用JSON来更新GitHub版本的描述,其中包含该版本的提交列表。

问题在于,如果描述有换行符,则命令失败并显示:

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

我让它工作的唯一方法是用空格替换换行符:

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

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

2 个答案:

答案 0 :(得分:3)

找出答案,换成换行符:

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

希望这有助于其他人:)

答案 1 :(得分:0)

您也可以使用\r\n,但不支持\n

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