action.yaml
Exemplo de um action.yaml
- Python Action
- Shell Action
- Action v3 (atual)
schema-version: v3 #required
kind: action #required
metadata: #required
name: action-basic-structure #required
display-name: action-basic-structure #required
description: Action example #required
version: 1.0.0 #required
spec:
type: python #required #accepted values: python or shell
docs: #optional
pt-br: docs/pt-br/docs.md
en-us: docs/en-us/docs.md
inputs: #optional
- label: Connection interface for your aws-dynamo-alias-action
name: aws-dynamo-alias-action
type: required-connection
connection-interface-type: aws-dynamo-conn
- label: What is your name?
name: user_name
type: text
required: false
pattern: '^[A-Za-z]+(?:\s[A-Za-z]+)*$'
help: Inform your name
python: #required
workdir: .
script: script.py
schema-version: v3 #required
kind: action #required
metadata: #required
name: action-basic-structure #required
display-name: action-basic-structure #required
description: Action example #required
version: 1.0.0 #required
spec:
type: shell #required #accepted values: python or shell
docs: #optional
pt-br: docs/pt-br/docs.md
en-us: docs/en-us/docs.md
inputs: #optional
- label: Connection interface for your aws-dynamo-alias-action
name: aws-dynamo-alias-action
type: required-connection
connection-interface-type: aws-dynamo-conn
- label: Who are you?
name: user_name
type: text
required: false
pattern: '([A-Z][a-z]+)+'
help: Inform your name
shell: #required
workdir: .
requirements-check:
- check-command:
linux: |
git --version
mac: |
git --version
windows: |
git --version
info: Git is not installed!
script:
linux: |
echo "Hello {{inputs.user_name}}!"
mac: |
echo "Hello {{inputs.user_name}}!"
windows: |
echo "Hello {{inputs.user_name}}!"
schema-version: v3 #required
kind: action #required
metadata: #required
name: action-basic-structure #required
display-name: action-basic-structure #required
description: Action example #required
version: 1.0.0 #required
spec:
type: shell #required #accepted values: python or shell
docs: #optional
pt-br: docs/pt-br/docs.md
en-us: docs/en-us/docs.md
inputs: #optional
- label: Select the connection for your aws-dynamo-alias-action
name: aws-dynamo-alias-action
type: required-connection
connection-interface-type: aws-dynamo-conn
- label: Who are you?
name: user_name
type: text
required: false
pattern: '([A-Z][a-z]+)+'
help: Inform your name
shell: #required
workdir: .
requirements-check:
- check-command:
linux: |
git --version
mac: |
git --version
windows: |
git --version
info: Git is not installed!
script:
linux: |
echo "Hello {{inputs.user_name}}!"
mac: |
echo "Hello {{inputs.user_name}}!"
windows: |
echo "Hello {{inputs.user_name}}!"
Atributos da Action
schema-version
Versão do schema do manifesto.
schema-version: v3
kind
Tipo do manifesto.
kind: action
metadata
Os campos de metadata identificam a Action. Todos são do tipo string.
name
Nome interno da Action usado como identificador único. Quando você não nomeia explicitamente, o nome informado anteriormente será exibido. Utilize kebab-case.
name: action-basic-structure
display-name
Nome da Action que será exibido no Portal para as pessoas usuárias. Quando você não nomeia, o nome informado anteriormente será exibido.
display-name: action-basic-structure
description
Descrição da Action. A descrição precisa ter, no mínimo, três caracteres e, no máximo, 500 caracteres.
description: Action example
version
Versão da Action. Segue o Versionamento Semântico (SemVer).
version: 1.0.0
spec
Especificação da Action. Os campos são do tipo string.
type
Tipo da Action. Pode ser python ou shell.
type: python
docs
Arquivos Markdown com a documentação da Action.
docs:
pt-br: docs/pt-br/docs.md
en-us: docs/en-us/docs.md
inputs
Inputs coletam informações relevantes para o escopo da Action. O STK CLI interpreta os inputs durante a execução dos comandos para solicitar essas informações para as pessoas usuárias.
Para ver todos os inputs possíveis, confira a seção Inputs.
- Python
- Shell
python
Campo para definir o caminho dos scripts Python que a Action deve usar.
- workdir: caminho relativo à pasta da Action onde estão os scripts Python;
- script: nome completo do arquivo do script que você deseja que a Action execute.
Exemplo:
spec:
# ...
python:
workdir: .
script: script.py
shell
Campo para definir o caminho dos scripts Shell que a Action deve usar.
- workdir: caminho relativo à pasta da Action onde estão os scripts Shell;
- requirements-check: em caso de falha ao executar o script Shell, exibirá no terminal a mensagem definida na opção
info; - script: script Shell que você deseja que a Action execute. Você deve informar scripts compatíveis para cada sistema operacional: linux, mac e windows.
Exemplo:
shell:
workdir: .
requirements-check:
- check-command:
linux: |
git --version
mac: |
git --version
windows: |
git --version
info: Git is not installed!
script:
linux: |
echo "Hello {{inputs.user_name}}!"
mac: |
echo "Hello {{inputs.user_name}}!"
windows: |
echo "Hello {{inputs.user_name}}!"