APIを使ってSmartHRとLINE WORKSを連携する―第3回 Botサーバの用意

こんにちは。

テクバン株式会社でSmartHRという
クラウド製品の連携開発を行っている担当者です。

前回の記事『APIを使ってSmartHRとLINE WORKSを連携する ―第2回 認証キーの設定』では、
APIなどの情報を呼び出して、サーバへ受け渡す処理の構築に必要な

LINE WORKSのAPIやBotの情報を設定しました。

第3回では、これらの情報の受け渡し先となるサーバーを用意していきます。
※下イメージ図の赤枠部分を作成していきます。

はじめに

今回ご紹介する内容は、前回掲載した
下の構築手順2つ目『Botサーバーの用意(Node.js, Heroku, Gitのインストール)』にあたります。

● SmartHR → LINE WORKS 構築手順

 ・LINE WORKSの認証キー・Bot情報の発行, 登録
 ・Botサーバーの用意(Node.js, Heroku, Gitのインストール)
 ・通知用のBotを作成し、公開する
 ・SmartHR Webhook URLを設定し、実際に動かしてみる

目次

Botサーバーの用意(Node.js, Heroku, Gitのインストール)

 (第2回より連番)

 6. Herokuアカウントの作成

 7. ローカル端末設定

 8. Botサーバの初期設定/起動

 9. Gitリポジトリの作成とコミット

6. Herokuアカウントの作成

 6.1. こちらから、Herokuアカウントを作成する
    表示された画面に下記表の項目を入力し、[CREATE FREE ACCOUNT]をクリックする

項目名説明
First name登録者の「姓」を入力する
Last name登録者の「名」を入力する
Email addressメールアドレスを入力する
Role任意の役割を選択する
Country「Japan」を選択する
Primary development language開発時に使用する、主要な「言語」を選択する

 6.2. 6.1.で登録したメールアドレスに確認用メールが届くので、メール内の[リンク]をクリックする

 6.3. パスワード登録を求められるので、任意のパスワードを入力し、
    [SET PASSWORD AND LOG IN]ボタンをクリックする

 6.4. 以下の画面が作成されれば、アカウント作成完了
    [CLICK HERE TO PROCEED]ボタンをクリックすると、Herokuを利用できる

7. ローカル端末設定

 7.1. 以下をローカル端末にインストールする

    ・Node.js

    ・Heroku CLI

    ・Git

  7.1.1. Node.js, npm (>> Node.js にアクセス)
      LTS -> [<対象OSのInstaller>]を選択する

      ※以下、[Windows Installer]を選択した場合について記載していきます

       ダウンロードされた[~.msi]ファイルをクリックする

       [Setup]ダイアログが表示されるので、[Next]をクリックする

       [I accept the terms in the License Agreement]を選択し、[Next]をクリック

       インストール先は変更せず、[Next]ボタンをクリックする

       特に変更せず、[Next]をクリックする

       チェックボックスを選択し、[Next]をクリックする

       [Install]ボタンをクリックする

       以下の画面が表示されたら、Node.jsのインストール完了となるので、
       [Finish]をクリックする

       [Finish]をクリックすると、自動でコマンドプロンプトが立ち上がるので、
       コマンドプロンプトが消えるまで[Enter]を入力する

       黒い画面が消えると、[PowerShell]が立ち上がり、
       Node.jsを利用するために必要なツールのインストールが始まるので、
       [Type ENTER to exit]の文言が表示されるまで待機
       表示されたら、[Enter]を入力し、完了

   7.1.2. Heroku CLI (>> Heroku CLI にアクセス)
       左のメニューから[Set up]を選択し、対象OSのInstallerをクリックする

       ※今回は Windows -> 64-bit installer を選択した場合について記載していきます

       ダウンロードされた[.exe]ファイルを実行する

       [Setup]ダイアログが表示されるので、変更せず、[Next]ボタンをクリックする

       インストール先も変更せず、[Install]ボタンをクリックする

       以下の画面が表示されたら、インストール完了なので、[Close]ボタンをクリックする

   7.1.3. Git (>> Git にアクセス)

       以下の画面が表示されるので、対象OSをクリックする

        ※今回は[Windows]版をインストールした場合について記載していきます

       [.exe]ファイルがダウンロードされるので、実行する

       [Setup]ダイアログが表示されるので、[Next]ボタンをクリックする

       インストール先は変更せず、[Next]ボタンをクリックする

       変更せず、[Next]ボタンをクリックする

       変更せず、[Next]ボタンをクリックする

       デフォルトエディタも変更せず、[Next]ボタンをクリックする

       [Install]ボタンをクリックし、インストール完了

8. Botサーバの初期設定/起動

 8.1. ローカル(任意の場所)にBot用のディレクトリを作成する

    ※ファイル名は任意です(今回は「lwtsuchibot」としています)
    ※ローカルで開発したプログラムをGitでHeroku(Botサーバー本体)に
     デプロイするので、ディレクトリ名や場所は任意の場所に作成して問題ありません

 8.2. Botのプロジェクトを作成する

    上記コマンドを実行すると、いくつか質問されるが、
    一旦はすべて[Enter]を入力し、[package.json]ファイルを作成する

 8.3. Bot用ディレクトリ配下に以下、 2ファイルを作成する

    ※「type nul」でファイルサイズ0のファイルを作成しているが、
      直接ファイル作成しても問題ない

    .gitignore(Gitの管理に含めないファイルを指定するファイル)

     Procfile(アプリの起動に必要なファイル)

 8.4. Node.jsで利用できるWebアプリケーションフレームワークであるexpressというパッケージを
    インストールする

 8.5. Expressを使ってWebアプリケーションが起動するindex.jsファイルを作成する

    ※ index.jsは作成したディレクトリ直下に配置します
     (今回は「~\SmartHR⇔LINE WORKS\lwtsuchibot」直下です)
    ※ ファイルは文字コード「UTF-8」、改行コード「CRLF」としてください

     index.js

9. Gitリポジトリの作成とコミット   

Herokuへデプロイするためには、Gitリポジトリで管理する必要があります。

そのため、Gitリポジトリを作成します。

 9.1. Gitリポジトリを作成する

 9.2. 改行コード自動変換対応
    (Gitにファイルをコミットする際、ファイルの改行コードがLFだと
    CRLFに自動変換してしまうため)

 9.3. ローカルのファイル・ディレクトリをインデックスに登録する

 9.4. 追加されたファイル等をコミットする

 9.5. Herokuへログインする

    上の状態で[Enter]キーを押すと、Heroku CLIへログインする画面が表示される

    [Log In]ボタンをクリックし、「 6. Herokuアカウントの作成 」で登録した
    メールアドレス・パスワードを入力すると、下図コマンドのように表示される

 9.6. Herokuでアプリケーションを作成する

    ※Herokuアプリケーション名は、重複が不可
    「Name <アプリケーション名>is already taken」というメッセージが出力されたら、
     違うアプリケーション名に修正すること

 9.7. Herokuへプッシュする

 9.8. 下記URLへアクセスし、「Hello World!」とページに出力されていたら成功
    https://<アプリケーション名>.herokuapp.com/

これで、Heroku(サーバー)にBotが動く環境(アプリケーション)が構築されました。

次回へ向けて

今回は、通知連携時にAPI情報やデータなどをやり取りする際の
ベースとなる環境を構築する方法についてご紹介しました。

次回は、この環境で通知用に使うBotを作成し、
LINE WORKS上に公開してきたいと思います。

>> APIを使ってSmartHRとLINE WORKSを連携する ―第4回 通知用のBotを作成し、公開する

関連記事

>> APIを使ってSmartHRとLINE WORKSを連携する ―第1回 APIとは?
>> APIを使ってSmartHRとLINE WORKSを連携する ―第2回 認証キーの設定
>> APIを使ってSmartHRとLINE WORKSを連携する ―第4回 通知用のBotを作成し、公開する
>> APIを使ってSmartHRとLINE WORKSを連携する ―第5回 Webhookを設定し、動かしてみる