Files
pi_mcps/zoo_backup/work/skills/ssh-test-deploy/SKILL.md
T
2026-06-24 19:27:14 +02:00

5.0 KiB

name, description
name description
ssh-test-deploy Deploy and test a module JAR on a PAISY SSH test instance.

Skill: ssh-test-deploy

Deploy and test a module JAR on a PAISY SSH test instance.

Invoked by

💻 Code mode (or 🪃 Orchestrator delegating to Code)

Required Inputs

Input Source Example
TICKET_KEY Jira issue key ESIDEPAISY-12081
MODULE PAISY module name eau, eubp, svmeldungen, dabpv
PROGRAM PAI program to run PAI022, PAIBATCH, PAI030
PROGRAM_ARGS Program arguments (optional) "-eau", "-svmeldungen DSAK"

Steps

1. List available test instances

list-instances()

Pick an appropriate instance based on module and availability. If the user has a preferred instance, use that.

2. Select the instance

set-instance(instance="<chosen instance>")

3. Build the module JAR locally

cd /Users/pplate/git/paisy-<TICKET_KEY>
mvn package -pl java/modules/cs-modules/<MODULE> -am -DskipTests -f java/pom.xml

Locate the built JAR:

find java/modules/cs-modules/<MODULE>/target -name "*.jar" -not -name "*-sources.jar" | head -1

3.5. Check existing JAR filename on instance

Before uploading, always check what the existing JAR is named on the instance. PAISY instances use specific casing conventions (e.g., EUBP.jar not eubp.jar, EAU.jar not eau.jar).

exec-command(command="ls -la /user2/paisyhr/<INSTANCE>/JAR/*<MODULE>* /user2/paisyhr/<INSTANCE>/JAR/*<MODULE_UPPER>* 2>/dev/null")
  • Extract the exact filename (e.g., EUBP.jar)
  • Use this as the remoteFilename parameter in upload-file
  • If no existing JAR is found, use the module name in UPPERCASE: <MODULE_UPPER>.jar

Known JAR naming conventions:

Module JAR filename
eubp EUBP.jar
eau EAU.jar
svmodules SVMeldungen.jar
dabpv DaBPV.jar
rvbea RVBEA.jar
dsbd DSBD.jar
dsvv DSVV.jar

4. Upload JAR to instance

upload-file(
    localPath="<path to built fat JAR>",
    remoteFilename="<DISCOVERED_JAR_NAME>"  # e.g., "EUBP.jar" — from step 3.5
)

5. Run the program

run-program(
    program="<PROGRAM>",
    args="<PROGRAM_ARGS>"
)

For common programs:

Program Purpose Typical args
PAI022 SV-Meldeverfahren batch "-svmeldungen DSAK", "-svmeldungen DSBD"
PAIBATCH General batch runner module-specific
PAI030 Lohnsteuer "-lstb"
PAI028 SVD import (no args, reads SVD.XML)

6. Parse output

Check the program output for errors:

# PAISY error responses start with "F;"
# Success responses typically start with "0;" or contain "RC=0"
Pattern Meaning Action
F; prefix PAISY error Log error, report to user
RC=0 Success Continue
RC=4 Warning Log warning, review output
RC=8 or higher Error Log error, investigate

7. Verify with shell command (optional)

exec-command(command="ls -la /path/to/output/")
exec-command(command="cat /path/to/logfile.log | tail -50")

8. Log results to BigMind

memory_store_fact(
    category="codebase",
    fact=f"{TICKET_KEY}: SSH test on <instance> — {PROGRAM} {PROGRAM_ARGS} → RC={rc}. <summary>"
)
memory_append_chunk(
    session_id=SESSION_ID,
    content=f"SSH test deploy for {TICKET_KEY}:\nInstance: <instance>\nProgram: {PROGRAM}\nResult: <output summary>",
    flag_reason="SSH test result"
)

Expected Output

  • Module JAR built and uploaded to test instance
  • Program executed with output captured
  • Results logged to BigMind
  • Error/success status reported to user

Error Handling

Error Resolution
No instances available list-instances() returns empty — ask user to check VPN/SSH access
Build failure Check Maven output for compilation errors, fix before retrying
Upload failure Verify instance is reachable, check disk space with exec-command("df -h")
F; response Parse error code, check ADP Docs Wiki for error meaning
RC=15 Often means SVD.XML is outdated — run PAI028 first to import fresh SVD data
Connection timeout Instance may be down — try another instance from list-instances()
Wrong JAR filename Always check existing name first — PAISY is case-sensitive on JAR names

Common Workflows

EAU test

set-instance(instance="Nadine.123")
run-program(program="PAI022", args="-eau")

SVMeldungen DSAK test

set-instance(instance="Tanja.122")
run-program(program="PAI022", args="-svmeldungen DSAK")

Full batch test

# First update SVD data
run-program(program="PAI028")
# Then run the batch
run-program(program="PAIBATCH", args="<module-specific>")

Language

  • Log entries and BigMind facts: English
  • Error descriptions from PAISY: German (preserve as-is)
  • User-facing summaries: match user's language