我(现在)已经成功使用Gitlab的release api触发了仓库中的发布。但是,我发现将markdown从字符串变量传递给curl到api很好用。当使用cat
从文件中获取markdown时,我无法使变量正确展开。无论如何,管道都会成功,但不会进行API调用。
我尝试遵循another post中所建议文档的官方建议。我还尝试了其他一些事情,例如使用脚本,而不是将bash和zsh指定为shell,因为默认情况是在gitlab docker中使用sh。
create_release:
script:
- DESCRIPTION=$(cat description.md)
- |
curl --silent --request POST --header "Content-Type:application/json" \
--header "PRIVATE-TOKEN: TOKEN" \
--data '{"name":"New release","tag_name":"v0.3","description":"'"$DESCRIPTION"'","assets":{"links":[{"name":"hoge","url":"https://google.com"}]}}' \
https://gitlab.bankassembly.com/api/v4/projects/369/releases
当我将一些markdown放在像DESCRIPTION="## Changelog \r\n something something ..."
这样的字符串中时,它可以正常工作,但是无论我尝试了什么,在使用DESCRIPTION=$(cat description.md)
时它都无法正常工作