代码之家  ›  专栏  ›  技术社区  ›  Tyvain

curl,如何将命令的结果包含为参数

  •  0
  • Tyvain  · 技术社区  · 6 年前

    我想创建一个curl命令来发布一个版本,其中的描述是git命令的结果。

    curl命令(工作):

     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命令的结果呢? 作为单行命令。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Geno Chen    6 年前

    把它们和筷子放在一起 `` $() .

    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"
    

    双方都可以。

        2
  •  0
  •   Akhil    6 年前

    将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"