卷曲,如何将命令结果包含为参数

时间:2019-02-20 04:56:39

标签: git shell curl

我想创建一个curl命令,发布一个带有git命令结果的描述的发布。

卷曲命令(有效):

 curl --request POST --data "{"description": "MY git command result should be here"}" "https://gitlab.unc.nc/api/v4/projects/$APP_GITLAB_NUMBER/repository/tags/$CI_COMMIT_TAG/release"

Git命令(有效):

git log $(git describe --tags --abbrev=0)..HEAD --oneline

那么如何在描述中包括git命令的结果? 作为单行命令。

2 个答案:

答案 0 :(得分:1)

只需将它们与反引号``$()结合起来即可。

curl --request POST --data "{\"description\": \"`git log $(git describe --tags --abbrev=0)..HEAD --oneline`\"}" "https://gitlab.unc.nc/api/v4/projects/$APP_GITLAB_NUMBER/repository/tags/$CI_COMMIT_TAG/release"

curl --request POST --data "{\"description\": \"$(git log $(git describe --tags --abbrev=0)..HEAD --oneline)\"}" "https://gitlab.unc.nc/api/v4/projects/$APP_GITLAB_NUMBER/repository/tags/$CI_COMMIT_TAG/release"

都可以。

答案 1 :(得分:0)

将git日志描述存储在tmp文件中

echo -n "description: ' >> git_desc 
git log $(git describe --tags --abbrev=0)..HEAD --oneline &>> git_desc

通过curl发布数据

curl --request POST --data "@git_desc" "https://gitlab.unc.nc/api/v4/projects/$APP_GITLAB_NUMBER/repository/tags/$CI_COMMIT_TAG/release"