ADE登録されたらmakeを使って、JOSYSにデバイスを登録する

今回は、iPaaSとSMP製品を変えて同じようなことをしてみたいと思います。

目次

今回利用したもの

  • make.com 有料版
  • JOSYS
  • ADE登録時に、Webhookを飛ばせるMDM(ここではJamf Pro)

設定

JOSYSでAPIキーを発行する

  • JOSYSにログインします。
  • 「デベロッパー」→「REST API」→【作成】をクリックします。
  • わかりやすい名前を入力し、【作成】をクリックします。
  • 表示されたAPIシークレットキーを控えておきます。シークレットキーはここでしか表示されないので必ず控えてください。
  • 値を控えたら【閉じる】をクリックし、ダイアログを閉じます。

makeのシナリオを作成する

  • makeにログインします。
  • 「Scenarios」を選択し、【Create a new scenario】
  • +を押して、Webhooksモジュールを追加します。
  • 【Create a webhook】をクリックします。
  • Webhookに名前をつけ、IP制限を入れる場合には設定をし、【Save】をクリックします。
    ※ここでつけた名前は一覧表示時に表示される名前になるので、わかりやすい名前をつけておくと良いかと思います。
  • Adminaのときと同様に今日の日付を取得して、JOSYS側のAPIで登録できる形に変換します。
  • Webhooks横の「+」をクリックします。
  • 検索ボックスに、setと入力し、「Set variable」をクリックしてモジュールを追加します。
  • [Variable name]に変数名を入力します。
  • [Variable value]には、以下の画像のように設定をします。
  • makeは単体モジュールを簡単にテストすることができるので、今設定したモジュールが正しく動作するかを確認します。
    モジュール上で右クリックし、【Run this module only】をクリックします。
  • OUTPUTに、YYYY/MM/DDの形でテストを実行した日の日付が表示されていればOKです。

モジュール上で右クリックし、【Rename】をクリックします。

後続の処理でわかりやすくするために、「getToday」等へリネームしておきます。

Jamf ProでWebhookの設定をする

こちらは、以前の記事を参考に、Webhookを追加してください。
https://blog.intracker.net/archives/5326#index_id4

テストする

直近で購入等ある場合には、そちらを待ってもいいかもしれませんが、すぐテストしたいのでPostmanを利用してJSONをmakeのWebhook URLにPOSTメソッドで送ってみます。

以下のようなJSONをBodyに入力します。

{
  "event": {
    "assetTag": "SHISAN-NO", 
    "description": "SHISAN", 
    "deviceAssignedDate": 100, 
    "deviceEnrollmentProgramInstanceId": 100, 
    "model": "MBP14", 
    "serialNumber": "SERIAL-12345678"
  }, 
  "webhook": {
    "eventTimestamp": 1735114788, 
    "id": 10, 
    "name": "DEVICENAME", 
    "webhookEvent": "DeviceAddedToDEP"
  }
}

JSONで送信するので、application/content-typeをapplication/json と設定しておきます。

make側で、【Run once】をクリックし、待受状態にしておきます。


設定をしたら、Postmanから【Send】をクリックし、HTTP Status 200 BodyにAcceptedで返ってきていることを確認します。

データが来ていることを確認するため、makeのWebhooksモジュールの虫眼鏡アイコンをクリックします。

受信したデータが表示されるので、正常に値が入ってきているかを確認します。

続きの処理を設定する

getTodayとしたモジュール横の「+」アイコンをクリックし、同じようにSet Variableを追加します。
以前の記事と同じようにリース期間2年と想定し、2年後の値を変数へセットしておきます。

以下のような形でVariable valueをセットします。

同様にモジュール上で右クリックし、【Run this module only】をクリックします。
以下のようにgetTodayモジュールでテストして出力された結果をtodayテキストボックスに入力し、【OK】をクリックします。

以下のように2年後の日付が取得できていればOKです。

こちらも同様に後続処理でわかりやすくするために、適当な名前にRenameしておきます。

JOSYSのAPIを実行する

「+」アイコンをクリックし、【HTTP】を選択します。

JOSYSのAPIリファレンスを確認すると、Bodyにapi_user_keyとapi_user_secretを記載する必要があるようなので、【Make a request】を選択します。

APIリファレンスを確認し、各種値を設定します。

設定項目設定値
URLhttps://developer.josys.it/api/v1/oauth/tokens
POSTPOST
Headers(Item 1)NameValue
Content-Typeapplication/json
Headers(Item 2)Acceptapplication/json
Body typeRaw
Content typeJSON(application/json)
Request contetn{
“grant_type”: “client_credentials”,
“api_user_key”: “<<APIユーザーキー>>”,
“api_user_secret”: “<<事前に控えたAPIキー>>”
}
Parse responseYes

【Save】をクリックします。
他のモジュールと同様に、右クリックし【Run this module only】をクリックします。
OUTPUT → Bundle → Data → it_token 作成されたトークンが出力されていることを確認します。

「+」アイコンをクリックし、もう1つHTTP(Make a request)モジュールを追加します。
デバイスの追加APIを利用したいので、以下のように各種値を設定します。
APIリファレンスがいけてないのですが、start_dateとend_dateは、YYYY-MM-DD形式で渡す必要があります。

設定変更設定値
URLhttps://developer.josys.it/api/v1/devices
MethodPOST
HeadersNameValue
(Item 1)Acceptapplication/json
(Item 2)Content-Typeapplication/json
(Item 3)AuthorizationBearer <前モジュールのid_tokenを選択>
Body typeRaw
Content typeJSON(application/json)
Request content{
“asset_number”: “<Webhook受信のassetTagを選択”,
“device_type”: “ノートPCとかdesktopとかを記載”,
“manufacturer”: “Apple”,
“model_number”: “<Webhook受信時のmodelを選択>”,
“model_name”: “<Webhook受信時のserialNumberを選択>”,
“operating_system”: “macOS”,
“serial_number”: “<Webhook受信時のserialを選択>”,
“device_procurement”: “購入 or リース等を記載”,
“start_date”: “<定義したtoday値を入れる>”,
“additional_device_information”: “メモ欄なので自由に記載”
}

以下のような形になります。

Postmanからデータを送ってテストする

Postmanを利用して、Webhookで受信するであろう想定データを送信してテストします。
makeのシナリオの左下のほうにある【Run once】をクリックします。

Waiting for data… が表示されたことを確認します。

この状態でPostmanを利用して、以下のデータをPOSTで送信してみます。

設定項目設定値
MethodPOST
URLmakeで作成されたWebhookのURL
Body(Raw/json){
“event”: {
“assetTag”: “SHISAN-NO-POSTMAN”,
“description”: “SHISAN”,
“deviceAssignedDate”: 100,
“deviceEnrollmentProgramInstanceId”: 100,
“model”: “MBP14”,
“serialNumber”: “SERIAL-12345678”
},
“webhook”: {
“eventTimestamp”: 1735114788,
“id”: 10,
“name”: “DEVICENAME”,
“webhookEvent”: “DeviceAddedToDEP”
}
}

データを受信するとmakeのシナリオモジュール上に数字がつき実行されていく様子がわかります。
最後までエラーなく完了したらJOSYS側にデバイスが登録されているか確認してみましょう。

JOSYSで確認してみる

JOSYSにログインし、「ITデバイス」をクリックし、送信した内容でデバイスが登録されていることを確認します。

まとめ

JOSYSでもWebhookを送信することができれば自動的にデバイス情報を登録することができます。
APIが微妙なところもありますが、便利に使えると思います。
ADEの情報を自動的に入れておくとシリアル番号を間違えることがないので、その後のJamf Pro連携等で情報の自動更新をさせることも可能になるので、連携もしておくと良さそうですね。
https://josyshelp.notion.site/Jamf-Pro-1b5e1fbe811280fa86ecf078b1691e8b

今回はmakeを利用してみましたが、他iPaaS(Zapier等)でも同様のことができるので是非試してみてください!!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次