AMT Help Files

AMT JCL Config

 This information is incomplete.

It is possible to make configuration changes without rebuilding AMT-JCL using a JSON configuration file (jcl-config.json). This is optional.

Python scripts load the settings from the configuration file upon start. The location of the JSON configuration file can be set using the JCL_CONFIG_FILE Windows environment variable.

Setting the Environment Variable

Windows

The file path pointing to the location of the JCL configuration file can be set using the JCL_CONFIG_FILE environment variable. Follow the instructions below:

  1. Open the Settings of Windows and navigate to System.
  2. Click on Advanced system settings A new dialog appears.
  3. Click on the Environment Variables button.
  4. Under System variables, click on the New button.
  5. Fill out the Variable name and Variable value as follows:
    1. Set the Variable name to JCL_CONFIG_FILE.
    2. Set the Variable value to point to the location of the JCL configuration file.
  6. Click the OK button.

Linux

  1. Open a terminal.
  2. Open the environment file in a text editor: sudo <text editor> /etc/environment.
    • Text editor: specify a text editor, such as nano, vim, gedit, and kate.
  3. Enter the super user password to authenticate.
  4. Add the following line at the end of the file: JCL_CONFIG_FILE="<value>".
    • The value should point to the location of the JCL logging file.
  5. Save the file.
  6. Open a new terminal and run echo $JCL_CONFIG_FILE to verify the variable has been set successfully.

Configuring GRPC and OIDC Authentication

It is necessary to configure OIDC to authenticate clients and allow access to the AMT application.

Azure Entra Example

"oidc_url": "<URL OIDC provider>",
"oidc_client_id": "<Client ID>",
"oidc_client_secret": "<Client Secret>",
"oidc_scope": "api://id/.default"

Keycloak Example

Set the environment variable "SSL_CERT_FILE" to the cert file used by keycloak. For example: C:\AMT\Java\certs\server1.pem. Python uses the cert file to verify the certificate of Keycloak.

"oidc_url": "<localhost:port/realms/AMTRealm/protocol/openid-connect/token>",
"oidc_client_id": "<Client ID>",
"oidc_client_secret": "<Client Secret>",
"oidc_scope": "openid offline_access"

Enabling Support For OpenTelemetry

Usage of OpenTelemetry is optional and it is disabled by default. To enable OpenTelemetry, the the host address and port of the OTEL collector must be configured (these fields are empty by default):

Example:

"otel_collector_host": "localhost",
"otel_collector_port": "4317"

Enabling Support For OpenTelemetry

Usage of OpenTelemetry is optional and it is disabled by default. To enable OpenTelemetry, the following settings need to be configured in the jcl-config.json file.

Example:

"otel_collector_host": "localhost",
"otel_collector_port": "4317"

Available Configuration Settings

The following settings are available in the jcl_config.json file:

Setting Available Values Description
customer_library String  
app_name String Set the application name.
application_kind String Set the application kind.
job_summary Boolean Default: true.
amt_job_name String Default: GLOBAL_JOB.
job_logging_path String The location where log files are stored.
include_folder String  
proc_libs_folder String Path to the directory of the JCL library.
file_encoding String Default: ASCII. Set to ASCII or UTF8
block_size Integer Default: 32000.
max_wait_time Integer Default: 1.
max_gdg_generation Integer Default: 255.
file_extension String Default: ".DAT". Set the file extension.
print_extension String Default: ".PRN". Set the print file extension.
abend_on_missing_file Boolean Default: false.
virtual_data_path String  
keep_all_files Boolean Default: false.
int_rdr_folder String  
int_rdr_queue String  
default_printer String Set the name of the printer. Use the "DEFAULT" value to use the printer that is designated as default.
cert String Path to the cert file. Python uses the cert file to verify the certificate of Keycloak.
app_host String Set to the name of the host server.
app_grpc_port String Set the GRPC port of the host server.
job_finished_polling_interval Float Default: 0.5. Set the time in seconds to poll for finished jobs.
merge_finished_polling_interval Float Default: 0.5.
use_date String  
ftp_test_mode Boolean Default: false.
ftp_test_host String  
ftp_test_user String  
ftp_test_password String  
ftp_test_destination String  
ftp_disabled Boolean  
ftp_default_port Integer Default: 21.
smtp_host String  
smtp_port Integer Default: 25.
smtp_user String  
smtp_password String  
smtp_email String  
oidc_url String Enter the URL of the OIDC provider.
oidc_client_id String Enter the Client ID.
oidc_client_secret String Enter the client secret.
oidc_scope String  
otel_collector_host String Enter a host to enable support for OTEL logging.
otel_collector_port Integer Enter a port to enable support for OTEL logging.
 Paths in JSON files
File paths in JSON files use forward slashes as opposed to backslashes in Windows.

Example file

jcl_config.json

{
    "development" : false,
    "customer_library": "",
    "app_name": "TEST-APP",
    "application_kind": "",
    "job_summary": true,
    "amt_job_name": "GLOBAL_JOB",
    "job_logging_path": "C:/AmtJava/Logging",
    "include_folder": "",
    "proc_libs_folder": "C:/AmtJava/amt-go/parent-scripting/jcl/python/amt-jcl/amt_jcl/procs",
    "file_encoding": "ASCII",
    "block_size": 32000,
    "max_wait_time": 1,
    "max_gdg_generation": 255,
    "file_extension": ".DAT",
    "print_extension":  ".PRN",
    "abend_on_missing_file":  false,
    "virtual_data_path": "",
    "keep_all_files": false,
    "int_rdr_folder": "",
    "int_rdr_queue": "",
    "default_printer":  "DEFAULT",
    "cert":  "C:/Sources/amt-go-java/parent-scripting/jcl/python/amt-jcl/amt_jcl/amt/platform/communication/grpc/certs/ca.pem",
    "app_host": "localhost",
    "app_grpc_port":  "8080",
    "job_finished_polling_interval": 0.5,
    "merge_finished_polling_interval": 0.5,
    "use_date":  "",
    "ftp_test_mode": false,
    "ftp_test_host": "",
    "ftp_test_user": "",
    "ftp_test_password": "",
    "ftp_test_destination": "",
    "ftp_disabled": false,
  "ftp_default_port": 21,
  "smtp_host": "",
  "smtp_port": 25,
  "smtp_user": "",
  "smtp_password": "",
  "smtp_email": "",
  "oidc_url": "",
  "oidc_client_id": "",
  "oidc_client_secret": "",
  "oidc_scope": "",
  "otel_collector_host": "",
  "otel_collector_port": -1
}