業務効率化を加速する!社内GASライブラリ:定型処理を共通化し、開発・運用コストを削減
皆さん、こんにちは!
突然ですが、日々の業務で「あー、これまた手作業か…」「この作業、前もやったな…」なんて思うこと、ありませんか?私自身、そういう定型的な作業に時間を取られて、「もっと別のことに時間を使いたい!」と常々感じています。
そんな時、「GAS(Google Apps Script)」は本当に心強い味方ですよね。スプレッドシートの集計を自動化したり、Gmailの処理を効率化したりと、様々な業務を自動化できる強力なツールです。
ただ、GASで色々なツールを作っていくと、気づけば「あれ、このコード前にも書いたような…?」なんてことも。同じような処理があちこちのGASプロジェクトに散らばっていると、管理も大変だし、新しいツールを作るたびに同じコードを書くのはちょっと非効率…。
そこで!今回は、そんな悩みを解消し、さらなる業務効率化を加速するための「社内GASライブラリ」についてお話ししたいと思います。特に、私たちのチームで開発・運用している、Slackとの連携に特化した超便利なライブラリ**「BsAppLibSlack」**を皆さんにご紹介させてください!
定型処理を共通化することで、開発も運用もぐっと楽になる、そんなライブラリの魅力をお伝えできればと思います。そして、この「BsAppLibSlack」、ぜひ皆さんのGAS開発でもガンガン活用していただきたいと思っています!
https://drive.google.com/file/d/1MgCgSxkUCp8_FN0MdGPpfcn4J3OOfrU1/view?usp=drive_link
上記にて公開中です。
BsAppLibSlack
ってどんなもの?
BsAppLibSlack
は、簡単に言うと「GASからSlackをもっと便利に使うための道具箱」みたいなものです。GASを使ってSlackに何か通知を送ったり、チャンネルやユーザーの情報を取ってきたりしたいとき、ゼロからコードを書くのはちょっと骨が折れますよね。このライブラリを使えば、Slack APIを使ったあれこれを、あらかじめ用意された機能(メソッドと呼びます)を呼び出すだけで簡単に実現できます。
例えば、「〇〇のタスクが終わったらSlackの△△チャンネルに通知を送る」とか、「新しいプロジェクトが始まったら関係者をSlackチャンネルに自動で招待する」とか、そういった処理が驚くほど簡単に書けるようになります。これにより、GASを使ったツール開発のスピードがアップし、さらにコードがシンプルになるので後からの修正や管理も楽になる、というわけです。
ライブラリでできること(主な機能)
BsAppLibSlack
には、Slack連携でよく使う機能がたくさん詰まっています!いくつか例を挙げると…
- Slackにメッセージを送る: 指定したチャンネルにGASからメッセージを送れます。「〜の処理が終わりました!」とか「今日のレポートです」といった自動通知に便利です。
- チャンネルにメンバーを招待・削除する: プロジェクトの異動や変更があった際に、GASから自動的にSlackチャンネルへの招待や削除ができます。
- チャンネルやユーザーの情報を調べる: 特定のチャンネルの情報(名前とかIDとか)や、社内メンバーのSlack情報をGASから取得できます。これを使って、例えば「この人はどのチャンネルに入ってるかな?」といったことを調べたりもできます。
- その他、APIを使った色々な操作: 上記以外にも、Slack APIを使ってできる色々な操作を、このライブラリを経由することで簡単に実行できます。
どうやって使うの?
使い方もとってもシンプルです!まず、GASのプロジェクトにこのライブラリを追加します。追加方法については、別途ドキュメントを用意する予定ですが、基本的にはライブラリのIDを指定して追加するだけです。
ライブラリを追加したら、コードの中でcreateBsAppLibSlack()
というおまじない(関数)を呼び出して、ライブラリの準備をします。
JavaScript
function createBsAppLibSlack() {
return new BsAppLibSlack();
}
// 使うときはこんな感じ
var slackApi = createBsAppLibSlack();
次に、Slack APIを使うために必要な「APIトークン」を設定します。これはSlackとGASを連携させるための、いわば「鍵」のようなものです。
JavaScript
// ここに皆さんのSlack APIトークンを設定します
slackApi.setSlackAppToken("YOUR_SLACK_APP_TOKEN");
これで準備はOK!あとは、やりたいことに合わせてライブラリの機能(メソッド)を呼び出すだけです。例えば、Slackの特定のチャンネルにメッセージを送りたいときは、こんな風に書けます。
JavaScript
var channelId = "ここに送りたいチャンネルのID"; // 例: 'C12345ABC' のような形式
var message = "皆さん、お疲れ様です!GASからの自動通知です!";
slackApi.postToSlackByChannelId(channelId, message);
これだけで、指定したSlackチャンネルにメッセージが投稿されます!簡単ですよね?
さあ、BsAppLibSlack
を使ってみよう!
今回ご紹介したBsAppLibSlack
は、日々のルーチンワークを自動化し、私たちの働き方をより良くするための強力なツールになると信じています。Slackとの連携が必要なGASプロジェクトを新しく作る際は、ぜひこのライブラリの活用を検討してみてください。きっと、開発時間の大幅な短縮と、メンテナンスしやすいコードの実現に繋がるはずです。
もし「こんな機能を追加してほしい!」「ここの使い方が分からない…」といった要望や質問があれば、遠慮なくチームにフィードバックをください。皆さんの声をもとに、このライブラリをさらに改善していきたいと思っています。
社内GASライブラリをみんなで活用して、もっともっと業務を効率化していきましょう!