Postman Flows ブロック

本記事は、[Postman Flows Blocks](https://learning.postman.com/docs/postman-flows/reference/blocks-list/) の日本語訳です（2024年5月14日更新）。

Postman Flows で利用可能なブロックを以下で説明します。

- [情報ブロック](#情報ブロック)
- [判定ブロック](#判定ブロック)
- [繰り返しブロック](#繰り返しブロック)
- [アクションブロック](#アクションブロック)
- [出力ブロック](#出力ブロック)

# 情報ブロック

## Template

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/template-block.png" width="245px">

大量の書式付きテキストを入力できます。Variables セクションの値は、`{{key}}`（`key` は変数名）を使ってテキストに含めることができます。

**Variables** - `{{key}}` 形式を使用してテキストに含めることができる、名前付きの情報または代入された値。フローで作成された変数は、Post-response スクリプトや Postman Flows 以外の機能では使用できません。

**出力** - テキストボックスに入力された情報を次のブロックに送信します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc94e8e308d202595085d7)

## Get Variable

<img src="https://assets.postman.com/postman-docs/v10/get-variable-block-v10.jpg" width="153px">

フロー内の任意の場所から指定された変数の値を取得します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc94d282cf9728f279e020)

## Create Variable

<img src="https://assets.postman.com/postman-docs/v10/create-variable-block-1-v10.jpg" width="136px">

変数に値を代入し、フロー内の任意の場所で **Get Variable** ブロックを使ってアクセスできるようにします。入力は任意の値（テキスト、数値、他のブロックからの情報など）です。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc94d282cf9728f279e020)

## Record

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/record-block.png" width="245px">

他の値ブロック型や別のレコードを保持できる構造化された情報です。情報は、キー（情報に割り当てられた名前）と値を持たせることによって整理されます。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc6eacead4e97c45493e9c)

## List

<img src="https://assets.postman.com/postman-docs/v10/list-block-v10.jpg" width="159px">

特定の値のリストを出力します。各項目は、Date ブロック、String ブロック、Record ブロックなど、どの型のブロックでもかまいません。リストの行で **Select** ブロックを使用すると、別のブロックからの情報をリストに渡すことができます。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc9412ead4e97c45493eb0)

## Date & Time

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/date-and-time-block.png" width="221px">

特定の日時を出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc6e7782ae416b9e6bc10a)

## Date

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/date-block.png" width="164px">

特定の日付を出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc6e72ead4e97c45493e9a)

## Now

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/now-block.png" width="69px">

現在の日時を出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc6e61e308d202595085c9)

## Select

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/select-block.png" width="142px">

他のブロックから出力された情報の特定の部分を選択します。入力情報が、保存されたサンプルを持つ **Send Request** ブロックからのものである場合、選択可能なすべての情報を持つドロップダウンがポップアップ表示され、その情報を選択すると、Select ブロックが自動入力されます。

また、**Send Request** または **Output** ブロックから出力データをドラッグ＆ドロップして **Select** ブロックを作成することもできます。新しい **Select** ブロックは、ドラッグ＆ドロップしたデータを自動的に選択します。

![](https://assets.postman.com/postman-docs/v10/flows-drag-and-drop-v10-20.gif)

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc6e92e308d202595085cb)

## Regex

<img src="https://assets.postman.com/postman-docs/v10/regex-block-1-v10.jpg" width="121px">

正規表現を出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc955b82ae416b9e6bc11d)

## Null

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/null-block.png" width="35px">

null 値を出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc6e4a82ae416b9e6bc108)

## Number

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/number-block.png" width="93px">

正または負の整数または小数です。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63b8b417a365885b55bc51fd)

## Bool

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/bool-block.png" width="118px">

True か False です。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63b8b16f2b292a29393dbef9)

## String

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/string-block.png" width="143px">

入力したテキストを出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc6328e308d202595085bc)

## Start

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/new-ux-start-block.png" width="110px">

フローの実行時に、最初に実行されるブロックです。クラウドにデプロイする場合、[クラウド上で実行するフロー](https://learning.postman.com/docs/postman-flows/concepts/automatic-runs/)は、ローカルでテストするための情報（テキストまたは JSON 形式）を保持するように設定できます。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bcbae7f3155f2e86b54eb2)

# 判定ブロック

## If

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/refactored-if-block.png" width="245px">

任意の数の変数と情報を取り、[FQL](https://learning.postman.com/docs/postman-flows/flows-query-language/introduction-to-fql/) 条件の結果に応じて異なる分岐を取ります。

**Variables** - 名前の付いた情報または代入された値です。

**テキスト入力ブロック** - true または false に評価される [FQL](https://learning.postman.com/docs/postman-flows/flows-query-language/introduction-to-fql/) を使用した自由形式のクエリです。

**Data** - 別のブロックから情報またはイベントを受け取ります。

**出力** - FQL 条件の値に応じて、True または False のいずれかの経路に情報を送信します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bcba94f3155f2e86b54eb0)

## Evaluate

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/updated-evaluate-block.png" width="318px">

[FQL](https://learning.postman.com/docs/postman-flows/flows-query-language/introduction-to-fql/) を実行して情報を変更し、変数を操作します。

**Variables** - FQL を使用してアクセスできる名前付きの情報または代入された値です。

**テキスト入力ブロック** - FQLを使用した自由形式のクエリです。

**出力** - クエリの結果を出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bc960882ae416b9e6bc11f)

# 繰り返しブロック

## Repeat

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/repeat-block.png" width="129px">

**Collect** ブロックが現れるまで、このブロックの後に続くすべてのブロックを指定された回数実行します。**Collect** ブロックに到達した場合は、その後に続くブロックを繰り返すことはしません。

**Count** - ブロックを実行する回数です。

**Start** - 他のブロックから入力を受け取ったときにブロックを実行します。

**Index** - 0 から始まる現在の実行の回数です。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63b898422e67b05a8333e16a)

## For

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/for-block.png" width="111px">

**Collect** ブロックが現れるまで、このブロックの後に続くすべてのブロックを、入力リストの各項目につき1回ずつ実行します。**Collect** ブロックに到達した場合は、その後に続くブロックを繰り返すことはしません。

**List** - `[1,2,3]` や `["one", "two", "three"]` のような値のリストです。

**Start** - ブロックを実行するための入力を受け取ります。

**Item** - リスト内の1つの項目を出力します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63b89820a365885b55bc51f6)

## Collect

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/collect-block.png" width="118px">

**For** ブロックと **Repeat** ブロックは、このブロックに達すると繰り返しを停止します。すべての項目が新しいリストに入れられ、出力されます。

**Item** - For または Repeat シーケンスから1つの項目を取り込みます。

**List** - For または Repeat シーケンスでこのブロックに送られたすべての項目のリストを作成します。

**Finish** - ブロックが完了したとき（すべての項目に対して For または Repeat シーケンスが実行され、すべての項目が新しいリストに入ったとき）にイベントを送信します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63b898822e67b05a8333e16c)

# アクションブロック

## Send Request

<img src="https://assets.postman.com/postman-docs/v10/send-request-block-1.jpg" width="300px">

コレクション内のリクエストを実行し、結果を出力します。保存されたサンプルを持つリクエストが使用された場合、フローを実行して **Select** ブロックを自動入力するためのテストデータとして結果を使用できます。

**Select a Request** - コレクションとリクエストをここで選択します。

**Send** - 他のブロックから入力を受け取ると、選択したリクエストが実行されます。

**Success** - 成功した API リクエストのレスポンスを含みます。リクエストに Postman のテストが割り当てられていて、すべて合格した場合、またはテストがない場合は、2xx（成功）の HTTP ステータスコードを受け取ります。リクエストによって返された情報は、次のブロックに出力されます。

**Failure** - 失敗した API リクエストのレスポンスを含みます。リクエストに Postman のテストが割り当てられていて、すべて失敗した場合、またはテストがない場合は、2xx 以外（失敗）の HTTP ステータスコードを受け取ります。リクエストによって返された情報は、次のブロックに出力されます。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/6267f9008752c1035922de48)

## Create with AI

<img src="https://assets.postman.com/postman-docs/v10/create-with-ai-block-v10.jpg" width="295px">

:::note
**Create with AI** ブロックは、Postman Free、Basic、Professional プランのユーザーが利用できるベータ機能です。
:::

**Create with AI** ブロックは、[GPT-3.5、GPT-4、DALL-E 3 人工知能（AI）モデル](https://learning.postman.com/docs/postman-flows/gs/flows-usage/#how-flows-consume-credits)を使用して、テキスト、画像、JSON データをフローで生成して出力します。**Create with AI** ブロックに生成させたい内容を記述したプロンプトを入力し、テストすることができます。

プロンプトで変数を参照するには、中かっこを使用します。例えば、以下のプロンプトには変数が含まれています：

- `{{value1}}` のレスポンスを要約してください。
- `{{body}}` のすべての新規顧客をリストアップしてください。
- `{{expenses}}` のデータを円グラフで可視化してください。

**variable** - 入力データを変数に代入します。データブロックとしてさらに変数を追加するには、**Add data blocks** アイコン「＋」を選択します。中かっこを使用して、プロンプト内の変数を `{{value1}}` のように参照します。

**モード選択ドロップダウンリスト** - **Text**、**Image**、**JSON** を選択して、作成するデータの種類を指定します。**Create with AI** ブロックがプロンプトに基づいてデータの種類を自動的に認識するようにするには、**Smart** を選択します。

**テキスト入力ブロック** - AI プロンプトをここに入力します。

**Test your prompt** - **Create with AI** ブロックの AI から結果またはフィードバックを取得する場合に選択します。

**出力** - **Create with AI** ブロックからデータを送信します。このポートの横のアイコンは、どのモードが選択されているかによって変わります。テキストは **Aa**、画像は **？**、JSONは **()** と表示されます。

:::note
**Create with AI** ブロックは、他の Postman Flows ブロックよりも多くのクレジットを消費します。詳しくは [Manage your team's usage of Postman Flows](https://learning.postman.com/docs/postman-flows/gs/flows-usage/) をご覧ください。
:::

## Delay

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/delay-block.png" width="212px">

指定された時間だけ待ってから情報を通します。

**Data（入力）** - 他のブロックから入力を受け取ると待機を開始します。

**Data（出力）** - 待機が完了すると、入力された情報を通過させます。

**Delay (in ms)** - 待機する時間です（ミリ秒）。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63bcbaf6ead4e97c45493eb9)

# 出力ブロック

## Log (Console)

<img src="https://assets.postman.com/postman-labs-docs/all-blocks/log-block.png" width="78px">

ブロックに入力された情報を Postman コンソールに送信します。

[サンプル](https://www.postman.com/postman/workspace/flows-snippets/flow/63b8b07ea365885b55bc51f9)

## Output

<img src="https://assets.postman.com/postman-docs/v10/output-block-v10.jpg" width="249px">

入力された情報を表示します。ドロップダウンメニューで、JSON、チャート、テーブル、ビデオ、画像などから選択できます。Output ブロックの詳細と例については、[Visualizing data](https://learning.postman.com/docs/postman-flows/reference/visualizing-data/) を参照してください。