olivetin/docs/modules/ROOT/pages/args/intro.adoc

42 lines
2.1 KiB
Plaintext

[#args]
= Introduction to Arguments
Actions and commands that OliveTin runs, without arguments, are generally quite safe - only that command can be run, without modifications. However, many users need the flexibility to set options on that command - normally called command line arguments. In OliveTin, arguments are defined in a shell commands like `echo {{ message }}`, with a bit of extra configuration.
Examples of valid argument names are `{{ personName }}`, `{{ customer_number }}` and `{{ ISBN11_code }}`.
* a-z (case insensitive)
* _ is allowed
* numbers are allowed (argument names can also start with numbers)
* all other characters are invalid for argument names.
[#arg-descriptions]
== Argument descriptions
Each argument can include a `description:` shown under the field on the argument form. OliveTin renders that value as **raw HTML**, so you can use markup such as links, line breaks, or emphasis:
[source,yaml]
----
arguments:
- name: host
title: Hostname
type: ascii_identifier
description: |
Enter a host OliveTin can reach.
See the <a href="https://example.com/docs" target="_blank" rel="noopener noreferrer">network guide</a>.
----
Treat `description` as trusted markup that you control (the same trust model as xref:dashboards/4-displays.adoc[dashboard displays]). Do not put untrusted or entity-derived strings into it without careful escaping.
== What's Next?
Now that you understand how arguments work, explore the different argument types and features:
* xref:args/types.adoc[Argument types] - Learn about different input types (text, dropdown, checkbox, etc.)
* xref:args/safety.adoc[Argument safety] - Understand how OliveTin keeps arguments safe
* xref:args/suggestions.adoc[Argument suggestions] - Add dynamic suggestions to help users
* xref:args/regex.adoc[Input validation with regex] - Validate user input with regular expressions
* xref:args/env.adoc[Environment variables] - Use arguments to set environment variables
* xref:args/templates.adoc[Templates] - Use Go templates in actions, including JSON encoding
* xref:action_examples/intro.adoc[See examples] - View real-world examples using arguments