From fdd964a2bfc7050bd159dc236e5edf397194fe66 Mon Sep 17 00:00:00 2001 From: Amiya-873 <71648041+Amiya-873@users.noreply.github.com> Date: Mon, 27 Jan 2025 19:24:35 +0530 Subject: [PATCH] Initial commit --- .github/workflows/gh-pages-deploy.yml | 13 +++++ .gitignore | 1 + .gitmodules | 3 ++ README.md | 1 + docs/downloads.md | 16 ++++++ docs/index.md | 44 +++++++++++++++++ docs/steps.md | 17 +++++++ docs/usage.md | 70 +++++++++++++++++++++++++++ mkdocs.yml | 2 + plugin-doc-common-config | 1 + 10 files changed, 168 insertions(+) create mode 100644 .github/workflows/gh-pages-deploy.yml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 README.md create mode 100644 docs/downloads.md create mode 100644 docs/index.md create mode 100644 docs/steps.md create mode 100644 docs/usage.md create mode 100644 mkdocs.yml create mode 160000 plugin-doc-common-config diff --git a/.github/workflows/gh-pages-deploy.yml b/.github/workflows/gh-pages-deploy.yml new file mode 100644 index 0000000..fbb49ee --- /dev/null +++ b/.github/workflows/gh-pages-deploy.yml @@ -0,0 +1,13 @@ +name: Create static site from markdown files using MkDocs + +on: + push: + branches: + - main + +permissions: + contents: write + +jobs: + deploy: + uses: UrbanCode/reusable-workflows/.github/workflows/mkdocs-deploy.yml@main diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5e96db --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +venv \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6522370 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "plugin-doc-common-config"] + path = plugin-doc-common-config + url = git@github.com:UrbanCode/plugin-doc-common-config.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..035aa38 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +This repository contains documentation for z/OS Rexx Executor plugin for Devops deploy. diff --git a/docs/downloads.md b/docs/downloads.md new file mode 100644 index 0000000..77032c3 --- /dev/null +++ b/docs/downloads.md @@ -0,0 +1,16 @@ +# Downloads + +--- + +- [ucd-plugins-zos-rexx-2.1168947.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1168947.zip) +- [ucd-plugins-zos-rexx-2.1168604.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1168604.zip) +- [ucd-plugins-zos-rexx-2.1164401.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1164401.zip) +- [ucd-plugins-zos-rexx-2.1164307.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1164307.zip) +- [ucd-plugins-zos-rexx-2.1161998.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1161998.zip) +- [ucd-plugins-zos-rexx-2.1161121.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1161121.zip) +- [ucd-plugins-zos-rexx-2.1161042.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1161042.zip) +- [ucd-plugins-zos-rexx-2.1159387.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1159387.zip) +- [ucd-plugins-zos-rexx-2.1158244.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1158244.zip) +- [ucd-plugins-zos-rexx-2.1154680.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-2.1154680.zip) +- [ucd-plugins-zos-rexx-1.1152822.zip](https://raw.githubusercontent.com/UrbanCode/IBM-UCD-PLUGINS/main/files/zos-rexx/ucd-plugins-zos-rexx-1.1152822.zip) + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..128d2f4 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,44 @@ +# Overview + +--- + +The zOS Rexx Executor can run REXX statements provided in a dataset or in the plugin step. + +Apart from executing a REXX program, this plug-in provides ability to create output properties. + +## Compatibility + +The plug-in is compatible with: + +* UrbanCode Deploy version 7.0.0 or later +* UrbanCode Deploy agents on z/OS +* IBM z/OS version 2.1 or later +* IBM Java 8 or 11 + +## Available Steps + +* Execute a REXX program + +## Installation + +No special steps are required for installation. See [Installing plug-ins in UrbanCode products](https://community.ibm.com/community/user/wasdevops/blogs/laurel-dickson-bull1/2022/06/13/install-plugins). + +## History + +### Version 2 + +* Added new checkbox input to show debug logs in case of any unknown failure. +* Output will now show the elapsed time of the REXX program +* New output property RexxReturnCode will store the return code of the REXX program +* Fixes output buffer issue when output has too much data +* Arguments can now be as big as 248 characters +* Fixed issue with work directory during two or more parallel step execution +* Minor improvements in temporary directory creation +* Fixed handling of CLIST error message response from ISPF Gateway +* Changes to run process in Legacy ISPF Gateway +* Improvements in ISPF gateway error handling +* Fixed PH62152 - RcException while allocating temporary datasets + +### Version 1 + +* Initial release \ No newline at end of file diff --git a/docs/steps.md b/docs/steps.md new file mode 100644 index 0000000..e7c746c --- /dev/null +++ b/docs/steps.md @@ -0,0 +1,17 @@ +# Steps + +--- + +## Process steps in the z/OS Rexx Executor plug-in + +### Execute a REXX program + +Use this step to execute rexx program + +| Name | Type | Description | Required | +|------------------|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------| +| Source Type | Enumeration: INLINE / DATASET | Source of REXX program | Yes | +| Source Value | String | Text or PDS member or Sequential Dataset that has REXX program. If the single quotation marks are omitted, the user's data set prefix from the TSO profile is prefixed to the front of the data set name. | Yes | +| Arguments | String | Specify the arguments(without quotes) to the REXX program | No | +| SYSPROC Datasets | String | Specify fully qualified SYSPROC datasets that the INPUT REXX program may use | No | + diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 0000000..1aae63c --- /dev/null +++ b/docs/usage.md @@ -0,0 +1,70 @@ +# Usage + +--- + +The z/OS Rexx Executor plug-in will execute statements provided in a dataset or inline in the plugin step. + +Select **Source type** as **DATASET** from the drop-down and +enter the dataset in the **Source Value**. +Fully qualified dataset needs to be enclosed in single quotes. +When the quotes are omitted then, the TSO prefix of the id running the +plugin step is prefixed to the Source Dataset. + +(or) + +Select **Source type** as **INLINE** from the drop-down and +then in the **Source Value** enter REXX statements beginning with a **/\* REXX \*/** statement. + +Arguments can be passed to the REXX program with/without quotes. +However, if there are more than one argument then arguments must be separated by a space. + +The **SYSPROC** field allows user to pass datasets containing REXX programs +that will be used by the REXX program run by the plugin step. +Multiple **SYSPROC** datasets can be passed by separating datasets by a comma(,). + +### Setting output property + +This plugin allows user to set output properties from the REXX program and +later to be used in successive steps of a process. +A user REXX program can simply invoke a call to **SETPROP** with two arguments. + +The first argument is output property name and +the second argument is the property value. + +> CALL SETPROP propertyName propertyValue + +For example, below REXX snippet will set an output property **currentDate** with value of **date** variable + +*** + /* REXX */ + date = DATE('S') /* Returns date in YYYYMMDD format E.g., 20120327 */ + CALL SETPROP "currentDate" date + +### Setting multi-line output property + +To set a multi-line output property, the lines of the property value must be separated +by a delimiter returned by inbuilt program **GETDLMTR** + +*** + /* REXX */ + delimiter = GETDLMTR() /* Return delimiter to separate lines */ + lines = "This is first line" || delimiter || "This is second line" + CALL SETPROP "outputLines" lines + +Will set property **outputLines** to below value + +*** + This is first line + This is second line + +### Referring properties from successive steps + +If the rexx step name is **Run-Rexx-Program** and output property name is **currentDate** +then the output properties can be referred by the successive steps as below + +> ${p:Run-Rexx-Program/currentDate} + +**Note** + +From plugin version 2, an output property __RexxReturnCode__ will store the return/exit code from REXX program. + diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..e06a305 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,2 @@ +site_name: "z/OS Rexx Executor" +INHERIT: plugin-doc-common-config/base.yml diff --git a/plugin-doc-common-config b/plugin-doc-common-config new file mode 160000 index 0000000..7aba81b --- /dev/null +++ b/plugin-doc-common-config @@ -0,0 +1 @@ +Subproject commit 7aba81b1ed880be9fc573e6ef29add7cd4a0792b