やりたいこと
BitriseのWorkflowをバックアップを兼ねてGitHubで管理したい!
Workflowはymlで記載されていて、GUIから取得することができるが、プロジェクトが大量にあると1つずつとるのがめんどい。
Bitrise APIで簡単に解決してみよう!
Bitrise API
使い方は前に書いた記事を見てください!
https://qiita.com/satoshi-baba-0823/items/abf238b7950655f86c09
/apps:GET
と/apps/{app-slug}/bitrise.yml:GET
が使えそう!
やり方
流れとしてはこんな感じで超簡単!
1. アプリの一覧を取得(/apps:GET
)
2. アプリごとのbitrise.ymlを取得(/apps/{app-slug}/bitrise.yml:GET
)
できたのがこれ!
sample.sh
#!/bin/bash
ACCESS_TOKEN={アクセストークン}
JSON_RESPONSE=$(curl -X GET "https://api.bitrise.io/v0.1/apps?sort_by=created_at" -H "accept: application/json" -H "Authorization: $ACCESS_TOKEN")
APPS=$(echo $JSON_RESPONSE | jq ".data")
JSON_LENGTH=`echo $APPS | jq length`
for APP_INDEX in `seq 0 $(expr $JSON_LENGTH - 1)`
do
APP=$(echo $APPS | jq .[$APP_INDEX])
APP_SLUG=$(echo $APP | jq -r .slug)
APP_TITLE=$(echo $APP | jq -r .title | sed -e "s/\//_/g")
curl -X GET "https://api.bitrise.io/v0.1/apps/$APP_SLUG/bitrise.yml" -H "accept: text/plain" -H "Authorization: $ACCESS_TOKEN" > ./yml/$APP_TITLE.yml
done
これでWorkflowを取得することができる!
Workflow書き換えまくってぶっ壊しても安心だね!