はじめに
こんにちは、セゾン情報システムズのよろず相談担当 すぎもん です。
先日、以下の記事をQiitaにて掲載させていただきました。
「DataSpiderで人事DBとLINE WORKSをノンプログラミングで繋いでみた」
https://qiita.com/sugimon/items/7ec6a87c3438574b3ef1
その流れで、"LINEWORKS Advent Calendar 2019”にお誘いを受けましたので、
今回はLINE WORKSの周辺システム開発を行う立場と想定して、記事掲載時に体験した事を書かせていただこうと思います。
そもそもDataSpiderって何?
前提として、「DataSpider」が何者かを少しだけ。
DataSpiderは異なるシステムのデータやアプリケーションをノンプログラミングで「つなぐ」ことで開発が行える開発ツールになります。
細かい事は興味がありましたら以下をご覧いただければと思います。
https://www.hulft.com/software/dataspider/product
実施概要
詳しい事は別途記事をご覧いただければと思いますが、ざっくりと以下のユースケースを満たす仕組みを構築しました。
「人事DBの更新情報を自動でLINE WORKSのユーザ情報に反映させたい」
この仕組はLINEWORKS の組織連携 APIを使用して構築しています。
https://developers.worksmobile.com/jp/document/100300101?lang=ja
また、構築時はsandbox環境にてテストを行いました。
構築体験談
ここからは、実際に構築を行っていく上で体験したことを記載していきます。
「External Key」が空だった
一番初めにハマったことは、「External Key」が空でどうしていいか分からなかった事です。
画面からユーザを追加した後、設定を変更してAPI連携できるようにしたところ発生しました。
APIの仕様を見るに、「externalKey」の項目がキーとして必須の項目であるのですが
それが空という状態が一体どういう状態なのか分からず困っていました。
最終的にはコミュニティの以下のやり取りを見る事で解決しました。
https://forum.worksmobile.com/jp/posts/149
画面操作で登録したユーザは「externalKey」が空欄で登録されてしまうらしく、
別途コミュニティ掲載の手段で「externalKey」を追加することで解決しました。
一度運用に乗ってしまえは問題にはならないかと思いますが、一番始めの構築時に注意が必要かなと感じました。
sandboxはやはり便利
一連のテストはsandbox環境を利用してテストしましたが、やはり本番環境とは別にテスト環境があるのは便利ですね。
今回のテストでは幾人もの「セゾン太郎」さんや「セゾン次郎」さんを入社させたり退職させたり休職させたりしたのですが、もし本番環境でミスして既存のユーザに影響が出たら恐ろしいですからね……
ただ、メンバー即時削除APIの設定が有効になるのに1日かかるのを知らなかったため、実作業が1日ペンディングになるという珍事がありました。そこはsandbox環境では即時有効できると嬉しいなと思いました。
また、ユースケース「処理に失敗した場合、メールで管理者へ通知する」をテストしようとしたのですが、メール機能はsandboxの機能対象外だったため諦めました。
ここは実際の運用ではメールではなくLINE通知などになるのではないかと考えており、あまり拘っていなかったので今回は問題にならなかったです。
コミュニティでのサポート
処理を構築していく上で、いくつか仕様や動作がわからない点がありましたが、コミュニティにてサポートしていただけました。
ドキュメントに記載のない細かい動作仕様があるようですが、それらもきちんとコミュニティにて回答頂けたため作業に詰まることなく無事に構築することが出来ました。
#最後に
LINE WORKSのAPI連携機能を用いて構築を行った上での体験を記載させて頂きましたがいかがでしたでしょうか?
いくつか詰まったポイントはありましたが、総じて開発、テストが行いやすいと感じました。
今後はBotを使ったシステム連携の仕組みをノンプログラミングで作ってみたいと考えているので、また機会があれば記事にして公開していければと考えています。
また、社内システムのこういったものとLINE WORKSを連携させたいなどのアイディアがありましたら、実践してみたいのでぜひお声がけ下さい。