🤖

SmartHR→Kintoneグループ、Googleグループ、バクラクを設定

に公開

背景、なぜやったか

読み飛ばしてください
システム的な基準やルールを立てるのがまず必要になるときがある。明文化されていないルールは本当にXXXXXとしか言いようがない。そこでなんとか雰囲気の中からルールやロジックを探し出す作業が始まる。霧の中でサバイバルゲームをするようなもので、闇雲に行動すると社会的なHPが減っていくことになる。五里霧中でこっちの装備は1917年のフランス兵だ、熱感知カメラなんて誰も持ってないし、偵察用の熱気球は数週間前に墜落している。
そういった”会社の霧”の中でできるのは、なんとかテント用のポールを立てて、そのテントからロジックを誘導するしかない。俺達はこのツールやSaaSを導入していて、これはこういったツールだから、これに沿ってくれということを霧に向かって言い続ける。言い続けたりツールを強化することで、段々と周りからはぐれた兵士たちがテントに集まってくる。だからまずは基準決めだ。これは俺が何度も塹壕に落ちてたどり着いた、この世の中にある無数の真実のうちの一つになる。
このツールもそういった基準決めで、

  1. SmartHRのメンバー情報をスプレッドシートに自動転記する。なお、情報の中には在籍情報や部署情報(役職情報を含む)がある。
  2. 手動で運用するチーム表は、「経理部で部長だったらチーム経理部長にいれる」のような設定を表で管理する。
  3. このチーム表の情報を素に、KintoneグループやバクラクやGoogleグループやSlackのグループ&権限をプログラムで確認していく。

あとはこのチーム表をことあるごとに見せるしかない。この部署はこのグループに勝手に入るようになっている(ツールを見てもらったらわかるが、アラートをslackに投げるだけだ。誰か自動設定される処理を書いてくれたら一緒に金麦を飲もう)、異論があるならチーム表に書くから言ってくれ、これでもうまくいっている感じはないが、少なくともシートの周りは霧が晴れている。霧が晴れるごとに見たことがない敵の新兵器が出てくるかもしれないが、霧の中でばったり出くわすよりマシだ。コードを記載する。google spreadsheetで動くので、会社によってカスタマイズするなりして使ってほしい。

なお、ライブラリは以下記事を参照してくれ。

関連
https://zenn.dev/nag8/articles/88be8d23693ca4

これは今年、予定していた最大の挑戦ってわけじゃない、でも冬になってふと視線が気になって後ろを振り返ったときに、間違いなくこれが思いついて良かった転換点だし、俺が気に入っている『取るに足らないツール・簡単なプログラムが、ゲームをひっくり返す』ってやつなんだ。

code

https://github.com/nag8/smartHR_team/blob/main/src/main.js
https://github.com/nag8/smartHR_team/blob/main/src/sheet.js
https://github.com/nag8/smartHR_team/blob/main/src/smartHR.js
https://github.com/nag8/smartHR_team/blob/main/src/kintone.js
https://github.com/nag8/smartHR_team/blob/main/src/class/Crew.js
https://github.com/nag8/smartHR_team/blob/main/src/class/BakurakuCrew.js
https://github.com/nag8/smartHR_team/blob/main/src/class/Team.js

雑記

読み飛ばしてください
GASにクラスは必要ないというやつもいるかもしれない。それも正しいし、正しくないといえる。そもそも何かが完全に間違っていたり、完全に正しいということもない。あらゆるものやことにメリットやデメリットがある。俺はこういう書き方しかできないんだ。teamとcrewのところのリレーションは全くイケてなくて、改善提案はいつでも待っている。でもそう考えると、プログラムのレビューなんて無意味だ、「会社や俺はこういう基準だからしたがってくれ」というのが正しい。未来、24世紀に変数の命名がローマ字で書くことがトレンドになっていれば、俺は自分の書いたものをドラム缶で燃やすしかない。ただし、相手やグループにメリットがあると思えば、レビューのコメントも意味がある。このソースコードを半年後、自分が保守することになったらどう思うか?を自問するしかない。
プログラミングをやるときはYoutube musicでジャズのプレイリスト、ノッているときはhiphopグループの『ダーティサイエンス』を聞いてる。聞いているうちに霧が晴れていく予感がする。もしかしたら故郷に戻れるかもしれないし、海の向こうから援軍が来るかもしれない。

Discussion