Привет, я очень новичок в пакетных файлах.Я пытаюсь сделать что-то похожее на мой bash-скрипт.Итак, вот моя проблема:
Я хочу получить все версии / теги из репозитория github, чтобы сгенерировать файл конфигурации для php documentor sami.Но как я могу записать JSON в переменную в пакетном режиме, чтобы получить версии?В моем bash-скрипте я сделал это, и он работает нормально:
function jsonDecode() {
json=$1
key=$2
echo ${json} | jq -r ${key}
}
ghUser="MisterMarlu"
ghRepo="sentence"
json=$(curl "https://api.github.com/repos/${ghUser}/${ghRepo}/tags")
versions=$(echo "${json}" | jq -c ".[]")
for version in ${versions[@]}; do
versionNumber=$(jsonDecode ${version} ".name")
echo " ->add( '${versionNumber}', '${versionNumber}' )" >> ${config}
done
# Here comes alot of code below this for loop..
Это выдаст «v0.0.1» и «v0.0.2».Шина, как я могу сделать это в командном файле?
РЕДАКТИРОВАТЬ
Вот ответ JSON, где мне нужен только "name"
как массив:
[
{
"name": "v0.0.2",
"zipball_url": "https://api.github.com/repos/MisterMarlu/sentence/zipball/v0.0.2",
"tarball_url": "https://api.github.com/repos/MisterMarlu/sentence/tarball/v0.0.2",
"commit": {
"sha": "82c4b6d74cc16816104934114766f0328e77ee66",
"url": "https://api.github.com/repos/MisterMarlu/sentence/commits/82c4b6d74cc16816104934114766f0328e77ee66"
},
"node_id": "MDM6UmVmMTMzMDM1MDMxOnYwLjAuMg=="
},
{
"name": "v0.0.1",
"zipball_url": "https://api.github.com/repos/MisterMarlu/sentence/zipball/v0.0.1",
"tarball_url": "https://api.github.com/repos/MisterMarlu/sentence/tarball/v0.0.1",
"commit": {
"sha": "0cf1a83a51716da3f42915c9eab571166845bb0b",
"url": "https://api.github.com/repos/MisterMarlu/sentence/commits/0cf1a83a51716da3f42915c9eab571166845bb0b"
},
"node_id": "MDM6UmVmMTMzMDM1MDMxOnYwLjAuMQ=="
}
]