# GraphQL Mutate Task

これはサーバーが提供する GraphQL mutate API を呼び出すタスクです。MutationQuery を作成する際、変数の処理は 2 つの方法で行うことができ、方法 2 を使用することをお勧めします。

方法 1：シナリオコンテキストから data と variables、および[スクリプトの内部変数](../concept/script-internal-variables.md)を使用できます。この方法は文字列変数を適用するのに適しています。

```graphql
mutation {
  syncAllMarketplaceOrder(fromDate: "${this.variables.fromDate}", toDate: "${this.variables.toDate}") {
    ...
  }

  removeTagFromObject(tag: "${this.data.tag}") {
    ...
  }
}
```

方法 2：`variables`に使用する変数を指定し、GraphQL 変数処理を使用します。 `variables`の値は、シナリオコンテキスト内のデータへのアクセサとして指定できます。この方法はオブジェクトタイプの変数を適用するのに適しています。

```graphql
mutation($fromDate: String!, $toDate: String!) {
  syncAllMarketplaceOrder(fromDate: $fromDate, toDate: $toDate) {
    ...
  }

  removeTagFromObject(tag: $tag) {
    ...
  }
}
```

## パラメータ

- `mutation`

  - GraphQL mutation クエリを入力します。

- `variables`
  - GraphQL クエリで使用する変数を定義します。
  - 変数名をキーとし、変数値に対応するデータアクセサを値として設定します.
