

AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) は、新規のお客様に公開されなくなりました。 AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) と同様の機能については、 AWS Mainframe Modernization Service (セルフマネージドエクスペリエンス) をご覧ください。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、[AWS 「 Mainframe Modernization の可用性の変更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Transform for Mainframe での Gapwalk アプリケーションのエンドポイント
<a name="ba-endpoints-gapwalk"></a>

このトピックでは、Gapwalk ウェブアプリケーションのエンドポイントについて説明します。これらはルートパス `/gapwalk-application` を使用します。

**Topics**
+ [バッチジョブ (モダナイズされた JCL など) に関連付けられたエンドポイント](#ba-endpoints-gapwalk-batch)
+ [エンドポイントのメトリクス](#ba-endpoints-gapwalk-metrics)
+ [その他のエンドポイント](#ba-endpoints-gapwalk-other)
+ [ジョブキューに関連付けられたエンドポイント](#ba-endpoints-gapwalk-jobq)

## バッチジョブ (モダナイズされた JCL など) に関連付けられたエンドポイント
<a name="ba-endpoints-gapwalk-batch"></a>

バッチジョブは、同期または非同期で実行できます (詳細は以下を参照)。バッチジョブは、レガシースクリプト (JCL) のモダナイゼーションの成果である groovy スクリプトを使用して実行されています。

**Topics**
+ [デプロイされたスクリプトの一覧表示](#ba-list-deployed-scripts)
+ [スクリプトを同期で起動する](#ba-launch-script-synchronously)
+ [スクリプトを非同期で起動する](#ba-launch-script-asynchronously)
+ [トリガーされたスクリプトの一覧表示](#ba-launch-script-triggered)
+ [ジョブ実行の詳細を取得する](#ba-retrieve-job-execution-details)
+ [非同期で起動されたスクリプトのうち、強制終了できるスクリプトの一覧表示](#ba-list-async-scripts)
+ [同期で起動されたスクリプトのうち、強制終了できるスクリプトの一覧表示](#ba-list-sync-scripts)
+ [指定したジョブ実行を強制終了する](#ba-kill-job-execution)
+ [再開可能な既存のチェックポイントを一覧表示する](#ba-list-existing-checkpoints)
+ [ジョブの再開 (同期)](#ba-restart-job-sync)
+ [ジョブの再開 (非同期)](#ba-restart-job-async)
+ [非同期ジョブ実行のスレッド制限の設定](#ba-set-thread-limit)

### デプロイされたスクリプトの一覧表示
<a name="ba-list-deployed-scripts"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/scripts`
+ 引数: なし
+ このエンドポイントは、サーバーにデプロイされている groovy スクリプトのリストを String として返します。このエンドポイントは、結果の String はアクティブリンク (起動可能なスクリプトごとのリンクで、以下の例を参照) 付きの HTML であるため、主にウェブブラウザから使用することを想定しています。

レスポンス例:

```
<p><a href=./script/COMBTRAN>COMBTRAN</a></p><p><a href=./script/CREASTMT>CREASTMT</a></p><p><a href=./script/INTCALC>INTCALC</a></p><p><a href=./script/POSTTRAN>POSTTRAN</a></p><p><a href=./script/REPROC>REPROC</a></p><p><a href=./script/TRANBKP>TRANBKP</a></p><p><a href=./script/TRANREPT>TRANREPT</a></p><p><a href=./script/functions>functions</a></p>
```

**注記**  
このリンクは、リストされている各スクリプトを**同期的**に起動するために使用する URL を表します。
+ サポートされているメソッド: GET / POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/triggerscripts`
+ 引数: なし
+ このエンドポイントは、サーバーにデプロイされている groovy スクリプトのリストを String として返します。このエンドポイントは、結果の String はアクティブリンク (起動可能なスクリプトごとのリンクで、以下の例を参照) 付きの HTML であるため、主にウェブブラウザから使用することを想定しています。

  前のエンドポイントレスポンスとは対照的に、リンクは、リストされた各スクリプトを**非同期的**に起動するために使用する URL を表します。  
![リストスクリプトのサンプル (ブラウザビュー)](http://docs.aws.amazon.com/ja_jp/m2/latest/userguide/images/trigger_scripts.png)

### スクリプトを同期で起動する
<a name="ba-launch-script-synchronously"></a>

このエンドポイントには GET と POST 用の専用パスを持つ 2 つのバリアントがあります (以下を参照)。
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/script/{scriptId:.+}`
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/post/script/{scriptId:.+}`
+ 引数:
  + **入力検証**を起動するスクリプトの識別子: スクリプト ID は空白にできず、255 文字を超えることはできません。パターンと一致する必要があります。 `^[a-zA-Z0-9._-]+$`
  + オプション: リクエストパラメータ (「`Map<String,String>`」を参照) を使用してスクリプトに渡すパラメータ。指定したパラメータは、呼び出された groovy スクリプトの[バインディング](https://docs.groovy-lang.org/latest/html/api/groovy/lang/Binding.html)に自動的に追加されます。**入力検証**: パラメータマップは 50 エントリを超えることはできません。
+ 呼び出しは、オプションのパラメータを使用してスクリプト (scriptId で識別) を実行し、完了を待ってから、次のいずれかの {{ResponseEntityString}} を返します。
  + HTTP 200: 「完了」 実行成功時の または JSON 成功メッセージ
  + HTTP 200: 実行失敗の詳細を含む JSON エラーメッセージ。サーバーログで利用可能な追加情報。
**注記**  
ランタイムは、失敗したジョブ実行の HTTP 500 ステータスコードを返すことをサポートするようになりました。[「メインアプリケーションの使用可能なプロパティ](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-key-value.html#ba-runtime-key-value-main)」を参照して、このレスポンスコードを設定します。
  + **入力検証**: 無効なスクリプト ID またはパラメータは、検証エラーの詳細を含む HTTP 400 Bad Request を返します。

    ```
    {
        "exitCode": -1,
        "stepName": "STEP15",
        "program": "CBACT04C",
        "status": "Error"
    }
    ```

    サーバーログを見ると、これがデプロイメントの問題であることがわかります (想定していたプログラムが正しくデプロイされていないため、それが見つからず、ジョブの実行が失敗しています)。  
![スクリプト実行エラーの例](http://docs.aws.amazon.com/ja_jp/m2/latest/userguide/images/script_exec_error_logs.png)

**注記**  
同期呼び出しは、実行時間が短いジョブ専用にしてください。長時間実行されるジョブは、非同期で起動する必要があります (以下の専用エンドポイントを参照)。

### スクリプトを非同期で起動する
<a name="ba-launch-script-asynchronously"></a>
+ サポートされているメソッド: GET / POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/triggerscript/{scriptId:.+}`
+ 引数:
  + **入力検証**を起動するスクリプトの識別子: スクリプト ID は空白にできず、255 文字を超えることはできません。パターンと一致する必要があります。 `^[a-zA-Z0-9._-]+$`
  + オプション: リクエストパラメータ (「`Map<String,String>`」を参照) を使用してスクリプトに渡すパラメータ。指定したパラメータは、呼び出された groovy スクリプトの[バインディング](https://docs.groovy-lang.org/latest/html/api/groovy/lang/Binding.html)に自動的に追加されます。**入力検証**: パラメータマップは 50 エントリを超えることはできません。
+ 上記の同期モードとは対照的に、エンドポイントはジョブの実行が終了するのを待たずにレスポンスを送信します。使用可能なスレッドが見つかると、直ちにジョブの実行を開始し、ジョブの実行を表す一意の識別子であるジョブ実行 ID を含むレスポンスが呼び出し元に送信されます。これを使用して、ジョブの実行状況を問い合わせたり、誤動作していると思われるジョブの実行を強制終了したりすることができます。レスポンスの形式は次のとおりです。

  ```
  Triggered script <script identifier> [unique job execution id] @ <date and time>
  ```
+ ジョブの非同期実行は、固定の限られた数のスレッドに依存しているため、使用可能なスレッドが見つからない場合、ジョブの実行が開始されない場合があります。この場合、返されるメッセージは次のようになります。

  ```
  Script [<script identifier>] NOT triggered - Thread limit reached (<actual thread limit>) - Please retry later or increase thread limit.
  ```

  スレッド上限を引き上げる方法については、次の `settriggerthreadlimit` エンドポイントを参照してください。

レスポンス例:

```
Triggered script INTCALC [d43cbf46-4255-4ce2-aac2-79137573a8b4] @ 06-12-2023 16:26:15
```

一意のジョブ実行識別子により、必要に応じてサーバーログ内の関連するログエントリを迅速に取得できます。また、以下に詳述する、他のいくつかのエンドポイントで使用されています。

### トリガーされたスクリプトの一覧表示
<a name="ba-launch-script-triggered"></a>
+ サポートされているメソッド: GET / POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/triggeredscripts/{status:.+}`、`/triggeredscripts/{status:.+}/{namefilter}`
+ 引数:
  + ステータス (必須): 取得するトリガースクリプトのステータス。**入力検証**: ステータスは空白にできず、50 文字を超えることはできません。可能な値は以下のとおりです。
    + `all`: ジョブが実行中かどうかにかかわらず、ジョブ実行の詳細をすべて表示します。
    + `running`: 現在実行中のジョブの詳細のみを表示します。
    + `done`: 実行が終了したジョブの詳細のみを表示します。
    + `killed`: 専用エンドポイント (以下を参照) を使用して、実行が強制終了されたジョブの詳細のみを表示します。
    + `triggered`: トリガーされたがまだ起動していないジョブの詳細のみを表示します。
    + `failed`: 実行が失敗とマークされたジョブの詳細のみを表示します。
    + \_namefilter (オプション): 指定したスクリプト識別子の実行のみを取得します。**入力検証**: 255 文字を超えることはできません
+ ジョブ実行の詳細のコレクションを JSON として返します。詳細については、「[ジョブ実行の詳細メッセージの構造](ba-endpoints-apx.md#job-execution-details)」を参照してください。

レスポンス例:

```
[
    {
      "scriptId": "INTCALC",
      "caller": "127.0.0.1",
      "identifier": "d43cbf46-4255-4ce2-aac2-79137573a8b4",
      "startTime": "06-12-2023 16:26:15",
      "endTime": "06-12-2023 16:26:15",
      "status": "DONE",
      "executionResult": "{ \"exitCode\": -1, \"stepName\": \"STEP15\", \"program\": \"CBACT04C\", \"status\": \"Error\" }",
      "executionMode": "ASYNCHRONOUS"
    }
  ]
```

### ジョブ実行の詳細を取得する
<a name="ba-retrieve-job-execution-details"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/getjobexecutioninfo/{jobexecutionid:.+}`
+ 引数:
  + jobexecutionid (必須): 対応するジョブ実行の詳細を取得するために使用する一意のジョブ実行識別子。**入力検証**: ジョブ実行 ID は空白にできず、255 文字を超えることはできません
+ 1 つのジョブ実行の詳細を表す JSON 文字列 (「[ジョブ実行の詳細メッセージの構造](ba-endpoints-apx.md#job-execution-details)」を参照)、または指定した ID のジョブ実行の詳細が見つからない場合は空のレスポンスを返します。

### 非同期で起動されたスクリプトのうち、強制終了できるスクリプトの一覧表示
<a name="ba-list-async-scripts"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/killablescripts`
+ 非同期で起動され、現在も実行中で強制終了できるジョブのジョブ実行識別子のコレクションを返します (以下の `/kill` エンドポイントを参照)。

### 同期で起動されたスクリプトのうち、強制終了できるスクリプトの一覧表示
<a name="ba-list-sync-scripts"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/killablesyncscripts`
+ 同期で起動され、現在も実行中で強制終了できるジョブのジョブ実行識別子のコレクションを返します (以下の `/kill` エンドポイントを参照)。

### 指定したジョブ実行を強制終了する
<a name="ba-kill-job-execution"></a>
+ サポートされているメソッド: POST

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/kill/{identifier:.+}`
+ 引数: ジョブ実行識別子 (必須): 強制終了されるジョブ実行を示す、一意のジョブ実行識別子。**入力検証**: 識別子は空白にできず、255 文字を超えることはできません
+ ジョブ実行の強制終了試行の結果の詳細を記述したテキストメッセージを返します。メッセージには、スクリプト識別子、一意のジョブ実行識別子、実行強制終了が発生した日時が含められます。指定した識別子に対して実行中のジョブが見つからなかった場合は、代わりにエラーメッセージが返されます。

**警告**  
 ランタイムでは、対象のジョブ実行が確実に強制終了するように最善を尽くします。したがって、メインフレームランタイムの AWS 変換はジョブを強制終了することによるビジネスへの影響を最小限に抑えようとするため、/kill エンドポイントからの応答が発信者に到達するまでに少し時間がかかる場合があります。
ジョブの実行を強制終了することは、データの損失や破損の可能性など、ビジネスに直接的な影響をもたらす可能性があるため、安易に実行するものではありません。特定のジョブの実行に不具合があり、データ修復手段が明確に特定されている場合に限って使用する必要があります。
ジョブを強制終了させた場合、詳細な調査 (事後分析) を行って何が問題であったかを特定し、適切な是正措置を講じる必要があります。
どのような場合でも、実行中のジョブを強制終了しようとすると、警告レベルのメッセージとともにサーバーログに記録されます。

### 再開可能な既存のチェックポイントを一覧表示する
<a name="ba-list-existing-checkpoints"></a>

ジョブを再開できるかどうかは、スクリプトが `CheckpointRegistry` にチェックポイントを登録して、ジョブ実行の進行状況を追跡できるかどうかで決まります。ジョブの実行が正しく終了しない場合、再開チェックポイントが登録されていれば、最後に登録されたことが判明しているチェックポイントからジョブ実行を再開できます (チェックポイントより上の先行ステップを実行する必要はありません)。
+ サポートされているメソッド: POST

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/restarts/{scriptId}/{jobId}`
+ 引数:
  + scriptId (オプション - 文字列): 再開するスクリプト。
  + jobId (オプション - 文字列): ジョブ実行の一意識別子。
+ 既存の再開ポイントの JSON 形式のリストを返します。このリストは、実行が正常に終了しなかったジョブを再開したり、以前に実行されたステップをバイパスして遅延再開をトリガーしたりするために使用できます。どのスクリプトでもチェックポイントが登録されていない場合、ページの内容は「チェックポイントが登録されていません」になります。

### ジョブの再開 (同期)
<a name="ba-restart-job-sync"></a>
+ サポートされているメソッド: POST

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/restart/{hashcode}/{scriptId}/{skipflag}`
+ 引数: 
  + hashcode (整数 - 必須): 指定されたハッシュコードをチェックポイント値として使用して、ジョブの最新の実行を再開します (有効なチェックポイント値を取得する方法については、上記の `/restarts` エンドポイントを参照してください)。
  + scriptId (オプション - 文字列): 再開するスクリプト。
  + skipflag (オプション - ブール値): 選択した (チェックポイント) ステップの実行をスキップし、直後の後続ステップ (存在する場合) から再開を発行します。
+ 戻り値: 上記の `/script` の戻り値の説明を参照してください。

### ジョブの再開 (非同期)
<a name="ba-restart-job-async"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/triggerrestart/{hashcode}/{scriptId}/{skipflag}`
+ 引数: 
  + hashcode (整数 - 必須): 指定されたハッシュコードをチェックポイント値として使用して、ジョブの最新の実行を再開します (有効なチェックポイント値を取得する方法については、上記の `/restarts` エンドポイントを参照してください)。
  + scriptId (オプション - 文字列): 再開するスクリプト。
  + skipflag (オプション - ブール値): 選択した (チェックポイント) ステップの実行をスキップし、直後の後続ステップ (存在する場合) から再開を発行します。
+ 戻り値: 上記の `/triggerscript` の戻り値の説明を参照してください。

### 非同期ジョブ実行のスレッド制限の設定
<a name="ba-set-thread-limit"></a>

ジョブの非同期実行は、JVM 内のスレッドの専用プールに依存します。そのプールには、使用可能なスレッド数に関する一定の制限があります。ユーザーは、ホストの機能 (CPU 数、使用可能なメモリなど) に応じて制限を調整できます。デフォルトでは、スレッド制限は 5 スレッドに設定されています。
+ サポートされているメソッド: POST

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/settriggerthreadlimit/{threadlimit:.+}`
+ 引数 (整数): 適用する新しいスレッド制限。**入力検証**: 1～1000 の範囲で指定する必要があります。
+ 指定したスレッド制限値が有効でない (厳密な正の整数ではない) 場合は、新しいスレッド制限と直前のスレッド制限を示すメッセージ (`String`) を返すか、エラーメッセージを返します。

レスポンス例:

```
Set thread limit for Script Tower Control to 10 (previous value was 5)
```

#### 現在実行中のトリガーされたジョブの実行回数のカウント
<a name="ba-count-current-jobs"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/countrunningtriggeredscripts`
+ 非同期で起動された実行中のジョブの数とスレッドの上限 (同時に実行できるトリガーされたジョブの最大数) を示すメッセージを返します。

レスポンス例:

```
0 triggered script(s) running (limit =10)
```

**注記**  
これを使用して、ジョブを起動する前に、スレッドの上限に達していないかどうかを確認できます (ジョブが起動できなくなる)。

#### ジョブ実行情報を消去する
<a name="ba-purge-job-info"></a>

ジョブ実行情報は、サーバーが稼働している限り、サーバーのメモリに残ります。古くなった情報は関連性がないので、メモリから消去すると便利な場合があります。これが、このエンドポイントの目的です。
+ サポートされているメソッド: POST

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/purgejobinformation/{age:.+}`
+ 引数: 消去する情報の経過時間 (時間単位) を表す、厳密な正の整数値。**入力検証**: 0～365 の範囲である必要があります。
+ 次の情報を含むメッセージを返します。
  + アーカイブ目的で消去されたジョブ実行情報が保存される消去ファイル名。
  + 消去されたジョブ実行情報の数。
  + メモに残っているジョブ実行情報の数

## エンドポイントのメトリクス
<a name="ba-endpoints-gapwalk-metrics"></a>

**入力検証**: すべてのメトリクスエンドポイントがリクエストパラメータを検証し、無効な値に対して HTTP 400 Bad Request を返します。

### JVM
<a name="ba-metrics-jvm"></a>

このエンドポイントは、JVM に関連する利用可能なメトリクスを返します。
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/metrics/jvm`
+ 引数: なし
+ 次の情報を含むメッセージを返します。
  + threadActiveCount: アクティブなスレッドの数。
  + JVMMemoryUsed: Java 仮想マシンがアクティブに使用しているメモリ。
  + JVMMemoryMax: Java 仮想マシンに許容される最大メモリ容量。
  + JVMMemoryFree: Java 仮想マシンが現在使用していない利用可能なメモリ。

### Session
<a name="ba-metrics-session"></a>

このエンドポイントは、現在開いている HTTP セッションに関連するメトリクスを返します。
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/metrics/session`
+ 引数: なし
+ 次の情報を含むメッセージを返します。
  + sessionCount: 現在サーバーが管理しているアクティブなユーザーセッションの数。

### バッチ
<a name="ba-metrics-batch"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/metrics/batch`
+ 引数:
  + startTimestamp (オプション、数値): データのフィルタリングの開始時のタイムスタンプ。**入力検証**: 有効な数値である必要があります。
  + endTimestamp (オプション、数値): データのフィルタリングの終了時のタイムスタンプ。**入力検証**: 有効な数値である必要があります。
  + page (オプション、番号): ページ分割用のページ番号。**入力検証**: 正の整数である必要があります。
  + pageSize (オプション、数値): ページ分割の 1 ページあたりの項目数。**入力検証**: 厳密に正の整数、最大 500 である必要があります。
  + **入力検証**: パラメータマップは 20 エントリを超えることはできません
+ 次の情報を含むメッセージを返します。
  + content: バッチ実行メトリクスのリスト。
  + pageNumber: ページ分割の現在のページ番号。
  + pageSize: 1 ページあたりに表示されるアイテムの数。
  + totalPages: 利用可能なページの合計。
  + numberOfElements: 現在のページにある項目数。
  + last: 最終ページのブール型フラグ。
  + first: 最初のページのブール値フラグ。

### トランザクション
<a name="ba-metrics-transaction"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/metrics/transaction`
+ 引数:
  + startTimestamp (オプション、数値): データのフィルタリングの開始時のタイムスタンプ。**入力検証**: 有効な数値である必要があります。
  + endTimestamp (オプション、数値): データのフィルタリングの終了時のタイムスタンプ。**入力検証**: 有効な数値である必要があります。
  + page (オプション、番号): ページ分割用のページ番号。**入力検証**: 正の整数である必要があります。
  + pageSize (オプション、数値): ページ分割の 1 ページあたりの項目数。**入力検証**: 厳密に正の整数、最大 500 である必要があります。
  + **入力検証**: パラメータマップは 20 エントリを超えることはできません
+ 次の情報を含むメッセージを返します。
  + content: 移行する実行メトリクスのリスト。
  + pageNumber: ページ分割の現在のページ番号。
  + pageSize: 1 ページあたりに表示されるアイテムの数。
  + totalPages: 利用可能なページの合計。
  + numberOfElements: 現在のページにある項目数。
  + last: 最終ページのブール型フラグ。
  + first: 最初のページのブール値フラグ。

## その他のエンドポイント
<a name="ba-endpoints-gapwalk-other"></a>

これらのエンドポイントを使用して、登録されているプログラムやサービスの一覧表示、ヘルスステータスの検出、JICS トランザクションの管理を行います。

**Topics**
+ [登録済みプログラムの一覧表示](#ba-list-registered-programs)
+ [登録済みサービスの一覧表示](#ba-list-registered-services)
+ [ヘルスステータス](#ba-health-status)
+ [使用可能な JICS トランザクションの一覧表示](#ba-list-jics-transactions)
+ [JICS トランザクションの起動](#ba-launch-jics-transaction)
+ [JICS トランザクションの起動 (代替)](#ba-launch-jics-transaction-alt)
+ [アクティブなセッションの一覧表示](#ba-active-session-list)

### 登録済みプログラムの一覧表示
<a name="ba-list-registered-programs"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/programs`
+ 登録されているプログラムのリストを HTML ページとして返します。各プログラムはメインプログラムの識別子によって指定されます。モダナイズされたレガシープログラムとユーティリティプログラム (IDCAMS、IEBGENER など) の両方がリストで返されます。利用可能なユーティリティプログラムは、tomcat サーバーにデプロイされているユーティリティウェブアプリケーションによって異なることに注意してください。例えば、モダナイズされた iSeries アセットには z/OS ユーティリティサポートプログラムは関連性がないため利用できない場合があります。

### 登録済みサービスの一覧表示
<a name="ba-list-registered-services"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/services`
+ 登録されているランタイムサービスのリストを HTML ページとして返します。指定されたサービスは、メインフレームランタイムの AWS 変換によってユーティリティとして提供され、groovy スクリプトのインスタンスに使用できます。Blusam ロードサービス (レガシーデータセットから Blusam データセットを作成する) は、そのカテゴリに分類されます。

レスポンス例:

```
<p>BluesamESDSFileLoader</p><p>BluesamKSDSFileLoader</p><p>BluesamRRDSFileLoader</p>
```

### ヘルスステータス
<a name="ba-health-status"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/`
+ gapwalk-application が起動して実行中であることを示す簡単なメッセージを返します (`Jics application is running.`)

### 使用可能な JICS トランザクションの一覧表示
<a name="ba-list-jics-transactions"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/transactions`
+ 使用可能なすべての JICS トランザクションを一覧表示する HTML ページを返します。これは、JICS 要素 (レガシー CICS 要素のモダナイゼーション) のある環境でのみ提供されます。

レスポンス例:

```
<p>INQ1</p><p>MENU</p><p>MNT2</p><p>ORD1</p><p>PRNT</p>
```

### JICS トランザクションの起動
<a name="ba-launch-jics-transaction"></a>
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/jicstransrunner/{jtrans:.+}`
+ 引数:
  + JICS トランザクション識別子 (文字列、必須): 起動する JICS トランザクションの識別子 (最大 8 文字)
  + 必須: トランザクションに Map<String,Object> として渡す追加の入力データ。このマップの内容は、JICS トランザクションによって消費される [COMMAREA](https://www.ibm.com/docs/en/cics-ts/5.4?topic=programs-commarea) をフィードするために使用されます。トランザクションの実行に必要なデータがない場合は、マップを空にしても構いません。
  + オプション: 特定のトランザクションの実行環境をカスタマイズする HTTP ヘッダーエントリ。次のヘッダーキーがサポートされています。
    + `jics-channel`: このトランザクションの起動によって起動されるプログラムが使用する JICS CHANNEL の名前。
    + `jics-container`: この JICS トランザクションの起動に使用される JICS コンテナの名前。
    + `jics-startcode`: JICS トランザクションの開始時に使用する STARTCODE (文字列、最大 2 文字)。指定できる値については、「[STARTCODE](https://www.ibm.com/docs/en/cics-ts/5.5?topic=summary-assign)」を参照してください (ページの下を参照)。
    + `jicxa-xid`: 呼び出し元によって開始され、現在の JICS トランザクション起動が参加する「グローバルトランザクション」([XA](https://en.wikipedia.org/wiki/X/Open_XA)) の XID (X/Open トランザクション識別子 XID 構造)。**入力検証**: XID は空白にできず、255 文字を超えることはできません。
+ JICS トランザクション起動の結果を表す `com.netfective.bluage.gapwalk.rt.shared.web.TransactionResultBean` JSON のシリアル化を返します。
+ **入力検証**: 無効な XID 値 (空白または 255 文字を超える) は、検証エラーの詳細を含む HTTP 400 Bad Request を返します。

構造の詳細については、「[トランザクション起動結果の構造](ba-endpoints-apx.md#transaction-outcome)」を参照してください。

### JICS トランザクションの起動 (代替)
<a name="ba-launch-jics-transaction-alt"></a>
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/jicstransaction/{jtrans:.+}`
+ 引数:  
**JICS トランザクション ID (文字列、必須)**  
起動する JICS トランザクションの識別子 (最大 8 文字)  
**必須: トランザクションに Map<String,Object> として渡す追加の入力データ**  
このマップの内容は、JICS トランザクションによって消費される [COMMAREA](https://www.ibm.com/docs/en/cics-ts/5.4?topic=programs-commarea) をフィードするために使用されます。トランザクションの実行に必要なデータがない場合は、マップを空にしても構いません。  
**オプション: 特定のトランザクションの実行環境をカスタマイズする HTTP ヘッダーエントリ。**  
次のヘッダーキーがサポートされています。  
  + `jics-channel`: このトランザクションの起動によって起動されるプログラムが使用する JICS CHANNEL の名前。
  + `jics-container`: この JICS トランザクションの起動に使用される JICS コンテナの名前。
  + `jics-startcode`: JICS トランザクションの開始時に使用する STARTCODE (文字列、最大 2 文字)。指定できる値については、「[STARTCODE](https://www.ibm.com/docs/en/cics-ts/5.5?topic=summary-assign)」を参照してください (ページの下を参照してください)。
  + `jicxa-xid`: 呼び出し元によって開始され、現在の JICS トランザクション起動が参加する「グローバルトランザクション」([XA](https://en.wikipedia.org/wiki/X/Open_XA)) の XID (X/Open トランザクション識別子 XID 構造)。**入力検証**: XID は空白にできず、255 文字を超えることはできません。
+ JICS トランザクション起動の結果を表す `com.netfective.bluage.gapwalk.rt.shared.web.RecordHolderBean` JSON のシリアル化を返します。構造の詳細は、「[トランザクション起動レコードの構造](ba-endpoints-apx.md#transaction-record-outcome)」を参照してください。
+ **入力検証**: 無効な XID 値 (空白または 255 文字を超える) は、検証エラーの詳細を含む HTTP 400 Bad Request を返します。

### アクティブなセッションの一覧表示
<a name="ba-active-session-list"></a>
+ サポートされているメソッド: GET

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/activesessionlist`
+ 引数: なし
+ **入力検証**: パラメータマップは 20 エントリを超えることはできません
+ アクティブなユーザーセッションのリストを表す JSON のシリアル化内の `com.netfective.bluage.gapwalk.application.web.sessiontracker.SessionTrackerObject` のリストを返します。セッション追跡を無効にすると、空のリストが返されます。

## ジョブキューに関連付けられたエンドポイント
<a name="ba-endpoints-gapwalk-jobq"></a>

 ジョブキューは、AS400 ジョブ送信メカニズムのメインフレームサポートの AWS 変換です。ジョブキューは、AS400 で特定のスレッドプールでジョブを実行するために使用されます。ジョブキューは、名前と、そのキューで同時に実行できるプログラムの最大数に対応する最大スレッド数によって定義されます。最大スレッド数よりも多くのジョブがキューに送信された場合、ジョブはスレッドが使用可能になるまで待機します。

キューのジョブのステータスを網羅したリストについては、「[キューでジョブの可能性のあるステータス](ba-endpoints-apx.md#jobs-status)」を参照してください。

ジョブキューのオペレーションは、次の専用エンドポイントによって処理されます。これらのオペレーションは、ルート URL `http://{{server}}:{{port}}/gapwalk-application/jobqueue` を使用して Gapwalk アプリケーション URL から呼び出すことができます。

**Topics**
+ [利用可能なキューを一覧表示する](#ba-list-available-queues)
+ [ジョブキューの開始または再開](#ba-start-restart-queue)
+ [送信してジョブを起動する](#ba-submit-job-launch)
+ [送信されたすべてのジョブを一覧表示する](#ba-list-scheduled-jobs)
+ [「保留中」になっているすべてのジョブをリリースする](#ba-release-held-jobs)
+ [特定のジョブ名で「保留中」になっているジョブをすべてリリースする](#ba-release-held-jobs-name)
+ [特定のジョブ番号のジョブをリリースする](#ba-release-job-number)
+ [繰り返しスケジュールでジョブを送信する](#ba-submit-job-on-repeating-schedule)
+ [送信された繰り返しジョブをすべて一覧表示する](#ba-list-all-submitted-repeating-jobs)
+ [繰り返しジョブのスケジュールをキャンセルする](#ba-cancel-scheduling-of-repeating-job)

### 利用可能なキューを一覧表示する
<a name="ba-list-available-queues"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `list-queues`
+ 利用可能なキューのリストを、そのステータスとともにキー値の JSON リストとして返します。

レスポンス例:

```
{"Default":"STAND_BY","queue1":"STARTED","queue2":"STARTED"}
```

可能性のあるジョブキューのステータスは次のとおりです。

**STAND\_BY**  
ジョブキューは開始を待っています。

**開始**  
ジョブキューは実行中です。

**UNKNOWN**  
ジョブキューのステータスを判断できません。

### ジョブキューの開始または再開
<a name="ba-start-restart-queue"></a>
+ サポートされているメソッド: POST

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/restart/{name}`
+ 引数: 開始/再開するキューの名前 (String) - 必須。**入力検証**: キュー名は空白にできず、255 文字を超えることはできません。
+ エンドポイントは何も返さず、開始/再開オペレーションの結果を表示するのに http ステータスに依存しています。  
**HTTP 200**  
開始/再起動オペレーションは正常に実行されました。指定したジョブキューが開始されました。  
**HTTP 404**  
ジョブキューが存在しません。  
**HTTP 503**  
起動/再起動の試行中に例外が発生しました (サーバーログを調査して原因を特定する必要があります)。

### 送信してジョブを起動する
<a name="ba-submit-job-launch"></a>
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/submit`
+ 引数: リクエスト本文に `com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage` オブジェクトの JSON のシリアル化が必須。詳細については、「[送信ジョブとスケジュールジョブの入力](ba-endpoints-apx.md#submit-job)」を参照してください。
+ オリジナルの `SubmitJobMessage` と、ジョブが送信されたかどうかを示すログを含む JSON を返します。

### 送信されたすべてのジョブを一覧表示する
<a name="ba-list-scheduled-jobs"></a>
+ サポートされているメソッド: GET

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/list-jobs?status={status}&size={size}&page={page}&sort={sort}`
+ 引数:
  + page: 取得するページ番号 (デフォルト = 1)
  + size: ページのサイズ (デフォルト = 50、最大 = 300)
  + sort: ジョブの順序 (デフォルト =「executionId」)。現在サポートされている値は「executionId」のみです。
  + status: (オプション) 存在する場合、ステータスでフィルタリングされます。
+ スケジュールされたすべてのジョブのリスト (JSON 文字列) を返します。レスポンス例については、「[スケジューリングされているジョブのレスポンス一覧](ba-endpoints-apx.md#list-scheduled-jobs)」を参照してください。

### 「保留中」になっているすべてのジョブをリリースする
<a name="ba-release-held-jobs"></a>
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/release-all`
+ リリース試行オペレーションの結果を示すメッセージを返します。次の 2 つのケースが考えられます。
  + HTTP 200 と「すべてのジョブが正常にリリースされました」というメッセージ すべてのジョブが正常にリリースされた場合。
  + HTTP 503 と「ジョブはリリースされていません」というメッセージ。不明なエラーが発生しました。リリース試行で問題が発生した場合、詳細についてはログを参照してください。

### 特定のジョブ名で「保留中」になっているジョブをすべてリリースする
<a name="ba-release-held-jobs-name"></a>

指定されたジョブ名に対して、異なるジョブ番号を持つ複数のジョブを送信できます (ジョブ実行の単一性は、<job name, job number> の組み合わせで付与されます)。エンドポイントは、「保留中」になっている、指定されたジョブ名を持つすべてのジョブ送信のリリースを試行します。
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/release/{name}`
+ 引数: 検索するジョブ名 (文字列)。必須。
+ リリース試行オペレーションの結果を示すメッセージを返します。次の 2 つのケースが考えられます。
  + HTTP 200 と「group <name> (<number of released jobs>) 内のジョブは正常にリリースされました」というメッセージ。ジョブは正常にリリースされました。
  + HTTP 503 と「group <name> のジョブはリリースされていません」というメッセージ。不明なエラーが発生しました。リリース試行で問題が発生した場合、詳細についてはログを参照してください。

### 特定のジョブ番号のジョブをリリースする
<a name="ba-release-job-number"></a>

エンドポイントは、指定された組み合わせ <job name, job number> に対し、一意のジョブ送信のリリースを試行します。
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/release/{name}/{number}`
+ 引数:  
**名前**  
検索するジョブ名 (文字列)。必須。  
**数値**  
検索するジョブ番号 (整数)。必須。  
** が返す**  
 リリース試行オペレーションの結果を示すメッセージ。次の 2 つのケースが考えられます。  
  + HTTP 200 と「Job <name/number> が正常にリリースされました」というメッセージ ジョブが正常にリリースされたかどうか。
  + HTTP 503 と「Job <name/number> はリリースされていません」というメッセージ 不明なエラーが発生しました。リリース試行で問題が発生した場合、詳細についてはログを参照してください。

### 繰り返しスケジュールでジョブを送信する
<a name="ba-submit-job-on-repeating-schedule"></a>

繰り返しスケジュールで実行されるジョブをスケジュールします。
+ サポートされているメソッド: POST

  認証と、ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER のいずれかのロールが必要です。
+ パス: `/schedule`
+ 引数: リクエスト本文には、`com.netfective.bluage.gapwalk.rt.jobqueue.SubmitJobMessage` オブジェクトの JSON のシリアル化が含まれている必要があります。

### 送信された繰り返しジョブをすべて一覧表示する
<a name="ba-list-all-submitted-repeating-jobs"></a>
+ サポートされているメソッド: GET

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/schedule/list?status={status}&size={size}&page={page}&sort={sort}`
+ 引数:

  1. page: 取得するページ番号 (デフォルト = 1)

  1. size: ページのサイズ (デフォルト = 50、最大 = 300)

  1. sort: ジョブの順序 (デフォルト = 「id」)。現在サポートされている値は「id」のみです。

  1. status: (オプション) 存在する場合、ステータスでフィルタリングされます。指定できる値は、セクション 1 に記載されている値です。

  1. status: (オプション) 存在する場合、ステータスでフィルタリングされます。指定できる値は、セクション 1 に記載されている値です。

  1. スケジュールされたすべてのジョブのリスト (JSON 文字列) を返します。

### 繰り返しジョブのスケジュールをキャンセルする
<a name="ba-cancel-scheduling-of-repeating-job"></a>

繰り返しスケジュールで作成されたジョブを削除します。ジョブのスケジュールステータスは INACTIVE に設定されます。
+ サポートされているメソッド: POST

  認証と ROLE\_ADMIN、ROLE\_SUPER\_ADMIN のいずれかのロールが必要です
+ パス: `/schedule/remove/{schedule_id}`
+ 引数: `schedule_id`、削除するスケジュールされたジョブの識別子。