リモートアクションAPI

Nexthinkの公開APIを使用してRemote Actionsをトリガーし、外部アプリケーション(たとえば ServiceNow)と統合する柔軟性を提供します。 APIの使用により、ITチームが複数のアプリケーションにアクセスして業務を行う必要がなくなるため、複雑さが解消されます。

API資格情報の設定

Nexthink APIと統合するには、まずインスタンス内でAPI資格情報を作成する必要があります。外部アプリケーションやサービスはこれを使用してAPIにアクセスし、Remote Actionsにリクエストを送信します。 詳しくは、API資格情報ドキュメントをご参照ください。

APIリクエストに対するRemote Actionsの設定

  1. 新しいRemote Actionを作成するか、既存のアクションを編集します。詳細はRemote Actionsの管理ドキュメントをご参照ください。

  2. 一般情報タブで、APIチェックボックスをオンにします。

API Checkbox

APIチェックボックス 3. Remote Actionを保存ボタンをクリックします。

このRemote ActionはAPI呼び出しで使用できるようになります。

Remote Action IDのコピー

APIを介してRemote Actionをトリガーするには、そのIDを知っている必要があります。

  1. メインメニューからRemote Actionsを選択します。

  2. ナビゲーションパネルの下部にあるRemote Actionsを管理ボタンをクリックします。

  3. 必要なRemote Actionを見つけ、その行の右側のアクションメニューをクリックしてNQL IDをコピーします。

  4. 後で使用するためにRemote Action IDを保存します。

APIからクエリを行い、Remote Action IDを抽出します。 以下のセクションを参照してください。

API呼び出しの例

認証トークンの取得

client secretclient IDを使用してAPIからトークンを取得します。

トークンを取得するための呼び出しの一例を以下に示します。

curl --location --request POST 'https://<customer>.api.<region>.nexthink.cloud/api/v1/token'\ --header 'Authorization: Basic [Base64 encoded clientId:clientSecret]'
    • インスタンスの名前。

    • 地域の名前:

  • us : アメリカ合衆国

  • eu : 欧州連合

  • pac : アジア太平洋地域

  • meta : 中東、トルコ、アフリカ

呼び出しが成功した場合、レスポンスは次のようになり、access_tokenフィールドにトークンが含まれます。

{
    "token_type": "Bearer",
    "expires_in": 900,
    "access_token": "example",
    "scope": "service:integration"
}

トークンの有効期限は15分で、それ以降は新しいトークンをリクエストする必要があります。

すべてのRemote Actionsのリストを取得する

生成されたトークンを使用して、Nexthinkインスタンス内のRemote Actionsのリストを取得します。

GET

https://<customer>.api.<region>.nexthink.cloud/api/v1/act/remote-action/

APIはすべてのRemote Actionsとその構成情報をJSON形式で返します。 以下にJSONレスポンスの例を示します。

    {
        "id": "#ExampleRA",
        "uuid": "5g5158g0-cd00-46be-9bfb-a9283ba800b",
        "name": "Example Remote Action",
        "purpose": [
            "DATA_COLLECTION"
        ],
        "targeting": {
            "apiEnabled": false,
            "manualEnabled": true,
            "manualAllowMultipleDevices": true
        },
        "scriptInfo": {
            "runAs": "LOCAL_SYSTEM",
            "timeoutSeconds": 120,
            "hasScriptWindows": true,
            "hasScriptMacOs": false,
            "inputs": [
                {
                    "id": "name",
                    "name": "Name",
                    "usedByWindows": true,
                    "usedByMacOs": false,
                    "options": [
                        "X"
                    ],
                    "allowCustomValue": true
                },
                {
                    "id": "StatusChange",
                    "name": "Status Change",
                    "usedByWindows": true,
                    "usedByMacOs": false,
                    "options": [
                        "On"
                    ],
                    "allowCustomValue": true
                },
                {
                    "id": "SetStartTypeTo",
                    "name": "Set Start Type To",
                    "usedByWindows": true,
                    "usedByMacOs": false,
                    "options": [
                        "X"
                    ],
                    "allowCustomValue": true
                }
            ],
            "outputs": [
                {
                    "id": "UpdatedServiceStatus",
                    "name": "Updated Service Status",
                    "type": "list_of_strings",
                    "usedByWindows": true,
                    "usedByMacOs": false
                }
            ]
        }
    },

返されるリストをフィルターするために、クエリパラメータをURLに渡します。

Windowsスクリプトを持つRemote Actions

次の例では、Windowsスクリプトのみを持つRemote Actionsを返します。

GET

https://<customer>.api.<continent>.nexthink.cloud/api/v1/act/remote-action/?hasScriptWindows=true&hasScriptMacOs=false

特定のRemote Actionの取得

生成されたトークンを使用して、特定のRemote Actionの構成を取得します。

これはすべてのRemote Actionsを取得するための呼び出しに似ていますが、この呼び出しでは、Remote ActionのURLエンコードされたIDを送信します。 たとえば、IDが#ExampleRAの場合、これをURLエンコードしてnql-idパラメータの値nql-id=%23ExampleRAとして送信します。

GET

https://<customer>.api.<continent>.nexthink.cloud/api/v1/act/remote-action/details?nql-id=%23ExampleRA

Remote Actionのトリガー

生成されたトークンとRemote ActionのIDを使用して、Remote Actionを実行します。

POST

https://<customer>.api.<continent>.nexthink.cloud/api/v1/act/execute

本文に、次のパラメータをJSON形式で指定する必要があります。

remoteActionId (String):実行するRemote ActionのID。

params (Object | キーペア):スクリプトに送信するパラメータ。 オブジェクトは空のままにします。 devices (Array):Remote Actionを実行するデバイスのNexthink Collector ID。

Collector IDを取得するには、devicesオブジェクトを使用して、NQL調査でdevice.collector.idフィールドを調べます。

例:


{
 "remoteActionId": "#ExampleRA",
 "params": {"StartType": "Automatic", "StatusChange": "On", "SetStartTypeTo": "Manual"},
 "devices": [
 "2b2frs41-bbb3-4e50-ba45-7ba09c3a7f16","8ebe8051-4g1b-4617-8148-df7a56c307b3","31bc219c-fb9g-47ba-8fc1-18cdf66b5e5a"
    ]
}

呼び出しの送信が成功すると、レスポンスには次のフィールドが含まれます。

requested: 実行を生成したリクエストで作成されたNexthink ID。 このIDを使用して、NQLでリモートアクションの実行をクエリします。

expiresInMinutes: 実行が期限切れになるまでにデバイスがオンラインにならなかった場合、実行が失効するまでの時間(分)。

例:


{
    "requestId": "7fbd96a7-b717-43a7-8973-9c6adbca3a56",
    "expiresInMinutes": 10080
}

Last updated

Was this helpful?