git logをcurlコマンドにパイプする方法

git logをcurlコマンドにパイプする方法

curl私の目標は、コマンドの出力をペイロードとして使用してcurl実行することです。 2つは別々に機能しますが、2つを1つにマージすることはできません。

これは、以前のバージョン以降のGITリポジトリの変更を印刷する最初のコマンドです。

git log --pretty=oneline HEAD...$(git tag -l | tail -n2 | head -n1)

さて、今何とかこの出力をこのカール文に導入したいと思います。

curl -vX POST --data-urlencode 'payload={"text": "< GIT LOG OUTPUT >"}' https://example.com

これら2つのコマンドを1行で送信する方法はありますか?

ベストアンサー1

次のように試すことができます。

curl -vX POST --data-urlencode \
    "payload={\"text\":\"`git log --pretty=oneline HEAD...$(git tag -l | tail -n2 | head -n1) | tr '\n' ',' | sed 's|,$||'`\"}" \
    https://<your-remote>

おすすめ記事