21216 . 下記「[ データの読み方] ( #データの読み方申請内容と対応例 ) 」を参考に、申請内容から新しい Dojo データを [ ` db/dojos.yml ` ] ( https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojos.yml ) に追加する
22227 . 下記「[ 統計システムへの追加] ( #統計システムへの追加 ) 」を参考に、イベント管理サービスを [ ` db/dojo_event_services.yml ` ] ( https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/dojo_event_services.yml ) に追加する
23238 . 上記の作業結果をコミットし、Pull Request (PR) を送る
24- 9 . 本番環境への反映を確認し、下記 「[ DojoMap への反映] ( #dojomap-への反映 ) 」で地図も先に更新する
24+ 9 . 本番環境への反映を確認し、メールを送る前に下記 「[ DojoMap への反映] ( #dojomap-への反映 ) 」で地図も更新する
252510 . 下記「[ 掲載完了メールの送り方] ( #掲載完了メールの送り方 ) 」で申請者に伝える
2626
2727[ » ; これまでの対応例 (PR) を見る] ( https://github.com/coderdojo-japan/coderdojo.jp/pulls?q=is:pr+"Add+CoderDojo" )
@@ -51,7 +51,7 @@ Zen: https://zen.coderdojo.com/dojos/jp/okinawa-ken/okinawa-okinawa-prefecture/n
5151``` yaml
5252- order : ' 472018'
5353 name : 那覇
54- counter : 1 # 省略化 。連名道場のときに使います (後述)
54+ counter : 1 # 省略可 。連名道場のときに使います (後述)
5555 prefecture_id : 47
5656 logo : " /img/dojos/default.webp" # ロゴがあれば naha.webp として追加
5757 url : https://coderdojo-naha.doorkeeper.jp/
@@ -70,7 +70,7 @@ Zen: https://zen.coderdojo.com/dojos/jp/okinawa-ken/okinawa-okinawa-prefecture/n
7070| `created_at` | **入力しない。** タスク実行時に自動で追加されます (詳細は後述) |
7171| `order` | [全国地方公共団体コード](http://www.soumu.go.jp/denshijiti/code.html) (詳細は後述) |
7272| `name` | Dojo名 |
73- | `counter` | 省略化 。[連名道場](https://github.com/coderdojo-japan/coderdojo.jp/issues/610)を登録する際に使います |
73+ | `counter` | 省略可 。[連名道場](https://github.com/coderdojo-japan/coderdojo.jp/issues/610)を登録する際に使います |
7474| `prefecture_id` | [db/seeds.rb](https://github.com/coderdojo-japan/coderdojo.jp/blob/main/db/seeds.rb) の県番号 |
7575| `logo` | 省略可。[public/img/dojos](https://github.com/coderdojo-japan/coderdojo.jp/tree/main/public/img/dojos) にあるDojoロゴ画像パス |
7676| `url` | 公式Webサイト (イベント管理ページも可) |
@@ -190,34 +190,36 @@ Pull Request 例: https://github.com/coderdojo-japan/coderdojo.jp/pull/274
190190> **ジョブは成功するのに地図には出ません。** 成功したように見えるので気づけません。
191191
192192` ` ` bash
193- # 1. coderdojo.jp に出るまで待つ(Dojo 名は掲載したものに書き換える)
194- for _ in $(seq 20); do
195- curl -s https://coderdojo.jp/dojos.json | grep -q '"name":"鞍手"' && echo '掲載を確認' && break
196- sleep 15
197- done
198-
199- # 2. DojoMap の日次ジョブを起動する
200- gh workflow run scheduler_daily.yml --repo coderdojo-japan/map.coderdojo.jp --ref main
201-
202- # 3. 地図に出るまで待つ(ジョブは 2〜3 分ほどで終わります)
203- for _ in $(seq 20); do
204- curl -s https://map.coderdojo.jp/dojos.json | grep -q '"name_japan":"鞍手"' && echo '地図を確認' && break
205- sleep 20
206- done
193+ DOJO=鞍手 # 掲載した Dojo 名に書き換える
194+
195+ # 出るまで待つ(見つかれば 0、時間切れなら 1 を返す)
196+ wait_until() { # $1: URL $2: 探す文字列 $3: 待機秒(最大 20 回)
197+ for _ in $(seq 20); do
198+ curl -s "$1" | grep -qF "$2" && return 0
199+ sleep "$3"
200+ done
201+ return 1
202+ }
203+
204+ wait_until https://coderdojo.jp/dojos.json "\" name\" :\" $DOJO\" " 15 \
205+ && gh workflow run scheduler_daily.yml --repo coderdojo-japan/map.coderdojo.jp --ref main \
206+ && wait_until https://map.coderdojo.jp/dojos.json "\" name_japan\" :\" $DOJO\" " 20 \
207+ && echo "地図に出ました" \
208+ || echo "途中で止まりました。下の切り分けを見てください"
207209` ` `
208210
209- **打ち切り付きにしてあります 。** 地図に出るかどうかは Clubs 側の登録にも依るため
210- (下の切り分けを参照)、出ないまま待ち続けることがあるためです 。
211- 確認のメッセージが出ないまま終わったら、下の表で切り分けてください 。
211+ **`&&` でつないであります 。** coderdojo.jp に出る前に DojoMap を起動してしまうと
212+ 上の事故が起きるため、前の段階が終わらなければ次に進まない形にしています 。
213+ 待ち時間にも上限があるので、出ないまま待ち続けることはありません 。
212214
213215ブラウザから実行する場合は [Daily Update](https://github.com/coderdojo-japan/map.coderdojo.jp/actions/workflows/scheduler_daily.yml) の
214- 「Run workflow」を押してください。
216+ 「Run workflow」を押してください。**その場合は先に coderdojo.jp 側を目視で確認してください。**
215217
216- 地図に載ったかは https://map.coderdojo.jp/dojos.json で確認できます 。
218+ どのクラブと突合したかまで見る場合は、次のように中身を確認します 。
217219
218220` ` ` bash
219- curl -s https://map.coderdojo.jp/dojos.json | ruby -rjson -e 'pp JSON.parse(STDIN.read).find { |x| x["name_japan"] == "南城 " }'
220- #=> {"global_club_id" => "b115e722 -...", "name_japan" => "南城 ", "name_earth" => "CoderDojo南城 ", ...}
221+ curl -s https://map.coderdojo.jp/dojos.json | ruby -rjson -e 'pp JSON.parse(STDIN.read).find { |x| x["name_japan"] == "鞍手 " }'
222+ #=> {"global_club_id" => "69fb131d -...", "name_japan" => "鞍手 ", "name_earth" => "CoderDojo鞍手 ", ...}
221223` ` `
222224
223225出てこない場合は次のいずれかです。いずれも DojoMap 側では直せません。
0 commit comments