---
title: "管理操作のクエリ例"
slug: "query-examples-for-management-operations"
abstract: "カスタムダイアログやUIでExperience Managerを拡張する"
---
# 管理操作のクエリ例

オーサリング&マネジメントGraphQL APIでは、カスタムダイアログやユーザーインターフェースでExperience Managerを拡張できます。APIを使って、Sitecoreユーザーインターフェースを通じてしかできなかったタスクを実行できます。

以下のGraphQLタイプに対してクエリやミューテーションを用いてオーサリング操作を行うことができます:

-   アーカイブ
-   データベース
-   インデックス作成
-   職務
-   言語
-   出版
-   セキュリティ
-   ワークフロー
-   ルール

利用可能な種類や操作の完全なリストについては、GraphQL IDEの組み込みドキュメントを参照してください。

## インデックスの再構築をトリガーします

rebuildIndexes変異を使ってインデックス再構築操作を実行することができます。

### クエリ { .notintoc }

mutation {
  # Rebuild all indexes if indexName input is not specified.
  rebuildIndexes(
    input: { indexNames: "sitecore\_master\_index", "sitecore\_core\_index" }
  ) {
    jobs {
      name
      handle
      status {
        total
        messages
        processed
        jobState
      }
      done
    }
  }
}

### 結果 { .notintoc }

{
  "data": {
    "rebuildIndexes": {
      "jobs": 
        {
          "name": "Index\_Update\_IndexName=sitecore\_master\_index",
          "handle": "3224a43a-0bb1-4be5-ac2f-91e781415be0;2AD160A8BF9F-Default Web Site",
          "status": {
            "total": -1,
            "messages": 
              "Job started: Index\_Update\_IndexName=sitecore\_master\_index"
            ,
            "processed": 0,
            "jobState": "RUNNING"
          },
          "done": false
        },
        {
          "name": "Index\_Update\_IndexName=sitecore\_core\_index",
          "handle": "e06da2e4-c129-4273-86be-945c5fbb5078;2AD160A8BF9F-Default Web Site",
          "status": {
            "total": -1,
            "messages": ,
            "processed": 0,
            "jobState": "RUNNING"
          },
          "done": false
        }
      
    }
  }
}

## 求人名で求人ステータスを確認する

ジョブ詳細は、ジョブ名やジョブハンドルで結果から返ってくるもので、Job APIを使ってクエリできます。

### クエリ { .notintoc }

query {
  # If both jobName and handle parameters are specified, the jobName parameter is ignored
  job(input: { jobName: "Index\_Update\_IndexName=sitecore\_master\_index" }) {
    name
    handle
    status {
      messages
      processed
      jobState
    }
    done
  }
}

### 結果 { .notintoc }

{
  "data": {
    "job": {
      "name": "Index\_Update\_IndexName=sitecore\_master\_index",
      "handle": "61519bfb-ff49-44bd-8957-9ef4ba4404a2;2AD160A8BF9F-Default Web Site",
      "status": {
        "messages": 
          "Job started: Index\_Update\_IndexName=sitecore\_master\_index"
        ,
        "processed": 4630,
        "jobState": "RUNNING"
      },
      "done": false
    }
  }
}

## ワイルドカードを使ってジョブステータスを確認する

ワイルドカードを使って利用可能な求人の詳細を入手できます。

ワイルドカードだけでクエリすることも、ジョブ名の断片の前後にワイルドカードを使うこともできます。具体的には:

-   \* - すべてのジョブのステータスを返します。
-   \*myjob - 名前が myjobで終わるジョブのステータスを返します。
-   myjob\* - 名前が myjobで始まるジョブのステータスを返します。
-   \*myjob\* - 名前に myjobを含むジョブのステータスを返します。

### クエリ { .notintoc }

query{
  jobs(input: { jobName: "\*index" }
){
    nodes {
      name
      handle
      status {
        messages
        processed
        jobState
      }
      done
    }
  }
}

### 結果 { .notintoc }

{
  "data": {
    "jobs": {
      "nodes": 
        {
          "name":
"Index\_Update\_IndexName=sitecore\_master\_index",
          "handle":
"970372d7-df5a-418f-a603-d6c0b40ed52c;2AD160A8BF9F-Default Web Site",
          "status": {
            "messages": 
              "Job started: Index\_Update\_IndexName=sitecore\_master\_index"
            ,
            "processed": 1578,
            "jobState": "RUNNING"
          },
          "done": false
        },
        {
          "name": "Index\_Update\_IndexName=sitecore\_core\_index",
          "handle": "b009bb91-aeae-4d86-86b5-fac785f1861d;2AD160A8BF9F-Default Web Site",
          "status": {
            "messages": 
              "Job started: Index\_Update\_IndexName=sitecore\_core\_index"        
 ,
            "processed": 307,
            "jobState": "RUNNING"
          },
          "done": false
        }
      
    }
  }
}

## アイテムを端に公開する

publishItemミューテーションを使ってアイテムをエッジにパブリッシュできます。操作の状態を確認したい場合は、パブリッシュ操作のoperationIdプロパティを返してください。

### クエリ { .notintoc }

mutation{
  publishItem(
    input: {
      rootItemPath: "/sitecore/content/Home"
      languages: "en"
      targetDatabases: "experienceedge"
      publishItemMode: SMART
      publishRelatedItems: false
      publishSubItems: true
    }
  ) {
    operationId
  }
}

### 結果 { .notintoc }

{
  "data": {
    "publishItem": {
      "operationId": "cbbcaf09-ec02-42c8-bad6-df60ef05cc42;F497611F492C-Default Web Site"
    }
  }
}

## 出版状況を確認してください

publishItemミューテーションによって返されるオペレーション識別子を使って、公開操作のステータスを照会できます。

### クエリ { .notintoc }

query {
  publishingStatus(
    publishingOperationId: "cbbcaf09-ec02-42c8-bad6-df60ef05cc42;F497611F492C-Default Web Site"
 ) {
    state
    isDone
    isFailed
    languages {
      name
    }
    processed
    targetDatabase {
      name
    }
  }
}

### 結果 { .notintoc }

{
  "data": {
    "publishingStatus": {
      "state": "RUNNING",
      "isDone": false,
      "isFailed": false,
      "languages": 
        {
          "name": "en"
        }
      ,
      "processed": 1,
      "targetDatabase": {
        "name":
"experienceedge"
      }
    }
  }
}