やりたいこと
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が使えそう!
やり方
流れとしてはこんな感じで超簡単!
- アプリの一覧を取得(
/apps:GET) - アプリごとの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書き換えまくってぶっ壊しても安心だね!