2016-10-02 9 views
0

1日あたりのコミット数を取得したいとします。次のコマンドで、json形式で出力を取得できます。しかし、コマンドラインを使用してjson形式の値にキーを追加できるかどうかを知りたいですか?Git statistics API JSON

curl https://api.github.com/repos/test/myrepo/stats/punch_card 

電流出力:

[ 
    0, 
    2, 
    32 
] 

予想される出力:

[ 
    day: 0, 
    hour: 2, 
    commits: 32 
] 
+1

:// doc.github.com/v3/repos/statistics/)docsでは、APIはこれらの値とともにキーを発行しません。 –

答えて

1

あなたは、 "コマンドライン" を超えたものを指定していないので、私はあなたがbashベースをしたいと仮定しています溶液。この簡単なスクリプト(醜いの種類も)行いますあなたが欲しいもの、(全体的なレスポンスの閉じ角括弧とは別に)インデントを維持しながら:限り[のGitHub API](HTTPSなど

#!/bin/bash 

resp=$(curl https://api.github.com/repos/test/myrepo/stats/punch_card) 

nextPref="" 
for val in $resp 
do 
    echo "$nextPref $val" 
    if [[ $val == "[" && $nextPref == "" ]] 
    then 
     nextPref="  " 
    elif [[ $val == "[" && $nextPref == " " ]] 
    then 
     nextPref="    day:" 
    elif [[ $nextPref == "   day:" ]] 
    then 
     nextPref="    hour:" 
    elif [[ $nextPref == "   hour:" ]] 
    then 
     nextPref="    commits:" 
    elif [[ $nextPref == "   commits:" ]] 
    then 
     nextPref="  " 
    fi 
done