eterm
eterm is Elyra's terminal. The two know about
each other in two ways, and nothing leaves the Mac: everything stays on
127.0.0.1 and the Unix socket.
A command that fails tells a bot
eterm can call a routine's webhook when a command finishes. Make a routine on
webhook for the bot that should hear it (Dev Desk, say: "make a routine that
runs when its webhook is called, and turn a failed deploy into an issue
proposal"), and put its address in eterm's ~/.config/eterm/settings.toml:
[hooks]
on_command_finished = "http://127.0.0.1:47811/hooks/<token>"
min_seconds = 10 # only commands that ran this long
only_failures = true # only commands that failed
The bot gets the command, its exit code, how long it ran, the directory, the tab and its last 40 lines, with tokens and keys already redacted by eterm, as outside text. What it does about it waits for your approval as always. See Routines.
Proposals that wait show in eterm
With [huskarl] enabled = true (the default), eterm asks the daemon over its
socket every half minute how many proposals wait, as the same user. When some
do:
- the line eterm shows when you come back after a while starts with "2 proposals wait in Huskarl", and
cmd-jlists Huskarl first, as waiting.
A click opens Huskarl on the queue (huskarl://queue). Approving happens in
Huskarl, where the whole card is, never in the terminal.
eterm only reads how many wait and what they are called; it never approves, and it gets nothing when the daemon is not running.