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

Gerrit查询选项,只打印第一行

  •  0
  • rodee  · 技术社区  · 7 年前

    此脚本工作:

    !#/bin/bash
    gerrit_query_output=$(ssh -p 29418 my_review-server.com gerrit query --format=JSON --commit-message change:66664 | head -n 1)
    commit_message=$(echo $gerrit_query_output | python -c "import sys, json; print json.load(sys.stdin)['commitMessage']" | grep -v ^Change-Id:)
    
    echo "commit msg= $commit_message"
    
    1. gerrit query命令中是否有只打印第一行的选项,以便避免 | head -n 1 在第2行?如果gerrit\u query\u输出 {"type":"stats","rowCount":1,"runTimeMilliseconds":9,"moreChanges":false} 作为第二行。

    2. 有没有更好的方法可以在没有 Change-Id: 线路,所以我可以避免 | grep -v ^Change-Id:

    1 回复  |  直到 4 年前
        1
  •  0
  •   Marcelo Ávila de Oliveira    7 年前

    1) 使用“ jq “代替phthon来获取提交消息:

    ssh -p 29418 GERRIT-SERVER gerrit query --format=JSON --commit-message change:CHANGE-NUMBER | jq -r --raw-output '.commitMessage // empty'
    

    2) 这是不可能的。