

AWS Mainframe Modernization Service （受管執行期環境體驗） 不再向新客戶開放。對於與 AWS Mainframe Modernization Service （受管執行期環境體驗） 類似的功能，探索 AWS Mainframe Modernization Service （自我管理體驗）。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS 大型主機現代化可用性變更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 大型主機 AWS Transform 中 Gapwalk 應用程式的端點
<a name="ba-endpoints-gapwalk"></a>

在本主題中，了解 Gapwalk Web 應用程式的端點。它們使用根路徑 `/gapwalk-application`。

**Topics**
+ [批次任務 （現代化 JCLs 等） 相關的端點](#ba-endpoints-gapwalk-batch)
+ [指標端點](#ba-endpoints-gapwalk-metrics)
+ [其他端點](#ba-endpoints-gapwalk-other)
+ [任務佇列相關的端點](#ba-endpoints-gapwalk-jobq)

## 批次任務 （現代化 JCLs 等） 相關的端點
<a name="ba-endpoints-gapwalk-batch"></a>

批次任務可以同步或非同步執行 （請參閱下列詳細資訊）。批次任務正在使用 groovy 指令碼執行，這是舊版指令碼 (JCL) 現代化的結果。

**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 指令碼清單傳回為字串。此端點主要用於 Web 瀏覽器，因為產生的字串是具有作用中連結的 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 指令碼清單傳回為字串。此端點主要用於 Web 瀏覽器，因為產生的字串是具有作用中連結的 HTML 頁面 （每個可啟動指令碼的連結 -- 請參閱以下範例）。

  與先前的端點回應相反，連結代表用於**非同步**啟動每個所列指令碼的 url。  
![列出指令碼範例 （瀏覽器檢視）](http://docs.aws.amazon.com/zh_tw/m2/latest/userguide/images/trigger_scripts.png)

### 同步啟動指令碼
<a name="ba-launch-script-synchronously"></a>

此端點有兩個變體，具有 GET 和 POST 用量的專用路徑 （請參閱下文）。
+ 支援的方法：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 錯誤請求，其中包含驗證錯誤詳細資訊。

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

    查看伺服器日誌，我們可以發現這是部署問題 （預期的程式尚未正確部署，因此找不到，導致任務執行失敗）：  
![指令碼執行錯誤範例](http://docs.aws.amazon.com/zh_tw/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 個字元
+ 傳回代表單一任務執行詳細資訊的 JSON 字串 （請參閱[任務執行詳細資訊訊息結構](ba-endpoints-apx.md#job-execution-details))，如果找不到指定識別符的任務執行詳細資訊，則傳回空白回應。

### 列出可刪除的非同步啟動指令碼
<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 個字元
+ 傳回詳細說明任務執行終止嘗試結果的文字訊息；訊息將包含指令碼識別符、任務執行唯一識別符，以及執行終止發生的日期和時間。如果找不到指定識別符的執行中任務執行，則會改為傳回錯誤訊息。

**警告**  
 執行時間會盡最大努力妥善地終止目標任務執行。因此，來自 /kill 端點的回應可能需要一些時間才能到達發起人，因為大型主機執行時間的 AWS 轉換會嘗試將終止任務的業務影響降至最低。
不得輕而易舉地終止任務執行，因為它可能會帶來直接的業務後果，包括可能的資料遺失或損毀。應保留給特定任務執行已橫向完成且明確識別資料修復方法的情況。
刪除任務應會導致進一步調查 （事後分析），以找出錯誤並採取適當的補救措施。
無論如何，嘗試終止執行中的任務都會以警告層級訊息記錄在伺服器日誌中。

### 列出現有檢查點以實現可重新啟動性
<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}`
+ 引數：
  + 雜湊碼 （整數 - 必要）：使用提供的雜湊碼作為檢查點值，重新啟動任務的最新執行 （請參閱上述`/restarts`端點，了解如何擷取有效的檢查點值）。
  + scriptId （選用 - 字串）：要重新啟動的指令碼。
  + skipflag （選用 - 布林值）：略過所選 （檢查點） 步驟的執行，並從立即後續步驟發出重新啟動 （如果有的話）。
+ 傳回：請參閱上述`/script`的傳回描述。

### 重新啟動任務 （非同步）
<a name="ba-restart-job-async"></a>
+ 支援的方法：GET

  需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/triggerrestart/{hashcode}/{scriptId}/{skipflag}`
+ 引數：
  + 雜湊碼 （整數 - 必要）：使用提供的雜湊碼作為檢查點值，重新啟動任務的最新執行 （請參閱上述`/restarts`端點，了解如何擷取有效的檢查點值）。
  + scriptId （選用 - 字串）：要重新啟動的指令碼。
  + skipflag （選用 - 布林值）：略過所選 （檢查點） 步驟的執行，並從立即後續步驟發出重新啟動 （如果有的話）。
+ 傳回：請參閱上述`/triggerscript`的傳回描述。

### 設定非同步任務執行的執行緒限制
<a name="ba-set-thread-limit"></a>

任務非同步執行依賴 JVM 中的專用執行緒集區。該集區具有與可用執行緒數量相關的固定限制。使用的 能夠根據主機功能 (CPUs 數量、可用記憶體等） 調整限制。根據預設，執行緒限制設定為 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 錯誤請求。

### 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 （選用， number)：分頁的頁碼。**輸入驗證**：必須是正整數。
  + pageSize （選用， number)：分頁中每個頁面的項目數。**輸入驗證**：必須是嚴格正整數，上限為 500。
  + **輸入驗證**：參數映射不能超過 20 個項目
+ 傳回包含下列資訊的訊息：
  + 內容：批次執行指標的清單。
  + pageNumber：分頁中的目前頁碼。
  + pageSize：每頁顯示的項目數量。
  + totalPages：可用的頁面總數。
  + numberOfElements：目前頁面上的項目計數。
  + last：最後一頁的布林值旗標。
  + first：第一頁的布林值旗標。

### 交易
<a name="ba-metrics-transaction"></a>
+ 支援的方法：GET

  需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/metrics/transaction`
+ 引數：
  + startTimestamp （選用，數字）：資料篩選的開始時間戳記。**輸入驗證**：必須是有效的數值。
  + endTimestamp （選用，數字）：資料篩選的結束時間戳記。**輸入驗證**：必須是有效的數值。
  + page （選用， number)：分頁的頁碼。**輸入驗證**：必須是正整數。
  + pageSize （選用， number)：分頁中每個頁面的項目數。**輸入驗證**：必須是嚴格正整數，上限為 500。
  + **輸入驗證**：參數映射不能超過 20 個項目
+ 傳回包含下列資訊的訊息：
  + 內容：交易執行指標的清單。
  + pageNumber：分頁中的目前頁碼。
  + pageSize：每頁顯示的項目數量。
  + 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、ISBGENER 等）。請注意，可用的公用程式將取決於已部署在您的 tomcat 伺服器上的公用程式 Web 應用程式。例如，z/OS 公用程式支援計劃可能無法用於現代化 iSeries 資產，因為它們不相關。

### 列出已註冊的服務
<a name="ba-list-registered-services"></a>
+ 支援的方法：GET

  需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/services`
+ 以 html 頁面的形式傳回已註冊的執行時間服務清單。指定的服務由適用於大型主機執行期的 AWS Transform 做為公用程式提供，可用於 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 CONTAINER 名稱。
    + `jics-startcode`：在 JICS 交易開始時使用的 STARTCODE （字串，最多 2 個字元）。如需可能的值，請參閱 [STARTCODE](https://www.ibm.com/docs/en/cics-ts/5.5?topic=summary-assign) （向下瀏覽頁面）。
    + `jicxa-xid` ：「全域交易」([XA](https://en.wikipedia.org/wiki/X/Open_XA)) 的 XID (X/開啟交易識別碼 XID 結構），由發起人起始，目前 JICS 交易啟動將參與其中。**輸入驗證**：XID 不得空白，且不得超過 255 個字元。
+ 傳回 `com.netfective.bluage.gapwalk.rt.shared.web.TransactionResultBean` JSON 序列化，代表 JICS 交易啟動的結果。
+ **輸入驗證**：無效的 XID 值 （空白或超過 255 個字元） 將傳回 HTTP 400 錯誤請求，其中包含驗證錯誤詳細資訊。

如需結構詳細資訊的詳細資訊，請參閱 [交易啟動結果結構](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 交易識別符 （字串、必要）**  
要啟動之 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 CONTAINER 名稱。
  + `jics-startcode`：在 JICS 交易開始時使用的 STARTCODE （字串，最多 2 個字元）。如需可能的值，請參閱 [STARTCODE](https://www.ibm.com/docs/en/cics-ts/5.5?topic=summary-assign) （向下瀏覽頁面）。
  + `jicxa-xid` ：「全域交易」([XA](https://en.wikipedia.org/wiki/X/Open_XA)) 的 XID (X/Open 交易識別碼 XID 結構），由發起人起始，目前 JICS 交易啟動將參與其中。**輸入驗證**：XID 不得空白，且不得超過 255 個字元。
+ 傳回 `com.netfective.bluage.gapwalk.rt.shared.web.RecordHolderBean` JSON 序列化，代表 JICS 交易啟動的結果。您可以在 中找到結構的詳細資訊[交易啟動記錄結果結構](ba-endpoints-apx.md#transaction-record-outcome)。
+ **輸入驗證**：無效的 XID 值 （空白或超過 255 個字元） 將傳回 HTTP 400 錯誤請求，其中包含驗證錯誤詳細資訊。

### 列出作用中工作階段
<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 從 Gapwalk 應用程式 URL 叫用這些操作：`http://{{server}}:{{port}}/gapwalk-application/jobqueue`。

**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**  
任務佇列正在等待啟動。

**STARTED (已啟動)**  
任務佇列已啟動且正在執行。

**UNKNOWN (不明)**  
無法判斷任務佇列狀態。

### 啟動或重新啟動任務佇列
<a name="ba-start-restart-queue"></a>
+ 支援的方法：POST

  需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN
+ 路徑： `/restart/{name}`
+ 引數：要啟動/重新啟動的佇列名稱，做為字串 - 必要。**輸入驗證**：佇列名稱不得空白，且不得超過 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)。
+ 傳回包含原始 的 JSON，`SubmitJobMessage`以及指出任務是否已提交的日誌。

### 列出所有提交的任務
<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}`
+ 引數：
  + 頁面：要擷取的頁面號碼 （預設 = 1)
  + 大小：頁面大小 （預設值 = 50，最大值 = 300)
  + sort： 任務的順序。 （預設值 = “executionId”)。 “executionId” 目前是唯一支援的值
  + 狀態：（選用） 如果存在，則會篩選狀態。
+ 以 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`
+ 傳回訊息，指出版本嘗試操作的結果。這裡有兩個可能的情況：
  + HTTP 200 和訊息「成功發佈所有任務！」 如果成功釋出所有任務。
  + HTTP 503 和訊息「未發佈任務」。發生未知的錯誤。如果版本嘗試發生錯誤，請參閱日誌以取得更多詳細資訊。

### 釋出指定任務名稱「保留」的所有任務
<a name="ba-release-held-jobs-name"></a>

對於指定的任務名稱，可以使用不同的任務編號提交多個任務 （任務執行的獨佔性是由兩個 <任務名稱，任務編號> 授予）。端點會嘗試發行具有指定任務名稱的所有任務提交，該名稱「保留」。
+ 支援的方法：POST

  需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/release/{name}`
+ 引數：要尋找的任務名稱，做為字串。強制性。
+ 傳回訊息，指出版本嘗試操作的結果。這裡有兩個可能的情況：
  + HTTP 200 和訊息 "Jobs in group <name> (<number of released job>) 成功發佈！" 任務已成功釋出。
  + HTTP 503 和訊息「群組 <name> 中的任務未發佈。發生未知錯誤。如果版本嘗試發生錯誤，請參閱日誌以取得更多詳細資訊。

### 釋出任務編號的指定任務
<a name="ba-release-job-number"></a>

端點會嘗試針對指定的配對 <job name， job number> 釋出「保留」的唯一任務提交。
+ 支援的方法：POST

  需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/release/{name}/{number}`
+ 引數：  
**name**  
要尋找的任務名稱，做為字串。強制性。  
**number**  
要尋找的任務編號，作為整數。強制性。  
**傳回**  
 指出發行嘗試操作結果的訊息。這裡有兩個可能的情況：  
  + 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. 頁面：要擷取的頁面號碼 （預設 = 1)

  1. 大小：頁面大小 （預設值 = 50，最大值 = 300)

  1. sort： 任務的順序。 （預設值 = “id”)。 “id” 是目前唯一支援的值。

  1. 狀態：（選用） 如果存在，則會篩選狀態。可能的值是第 1 節所述的值。

  1. 狀態：（選用） 如果存在，則會篩選狀態。可能的值是第 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`，要移除之排程任務的識別符。