Pular para o conteúdo principal

Comandos de Action

Nesta seção, você encontra a lista de comandos de Action.


ComandoDescrição
stk add actionAdiciona uma Action em uma Stack.
stk create actionCria a estrutura de uma Action.
stk list actionLista todas as Actions dentro de um Workspace.
stk publish actionPublica uma Action na StackSpot.
stk run actionExecuta uma Action.
stk validate actionValida a estrutura de uma Action.

stk add action

O comando stk add action adiciona uma Action em uma Stack.

Uso

Para adicionar uma Action em uma Stack, execute o comando dentro da pasta de uma Stack:

stk add action [STUDIO-SLUG]/[STACK-NAME-AND-VERSION]/[ACTION-NAME]

Exemplo:

stk add action techwriters-studio/documentation-stack@2.1.0/markdown-lint-action

Parâmetros

OpçõesDescriçãoExemplo
-o, --targetA opção -o, --target define o caminho do diretório da Stack onde a Action será adicionada. Caso contrário o comando deve ser executado dentro da pasta da Stack.
stk add action my-studio/my-stack@1.0.0/action-name --target home/user/Applications/my-other-stack 
-q, --non-interactiveNão pergunta para o usuário por parâmetros de entrada que faltam e retorna um erro caso algum parâmetro obrigatório não tenha sido fornecido.
stk add action my-studio/my-stack@1.0.0/action-name --non-interactive
-h, --helpExibe a ajuda do comando e sai.
stk add action --help

stk create action

O comando stk create action cria a estrutura básica para você desenvolver uma Action.

Quando você executar o comando no terminal, escolha qual o tipo da Action. Assim, uma pasta é gerada com a estrutura para criar essa Action. Edite o arquivo action.yaml e configure os parâmetros de entrada da Action.

Informação Adicional

A opção -o, --target permite definir um nome de pasta diferente para criar o conteúdo da Action. Se a pasta não existir, ela será criada.

Se você não usar a opção -o ou --target, o nome da pasta do conteúdo da Action será o mesmo que você deu ao criar a sua Action.

Uso

stk create action [NAME]

Parâmetros

OpçõesDescriçãoExemplo
-d, --descriptionTexto que descreve o comportamento da Action. Escreva o texto entre aspas para usar espaços na descrição.
stk create action my-action --description "Action description"
-v, --versionAdiciona a versão da Action. É um dos requisitos para publicar a Action.
stk create action my-action --version 1.0.0
-j, --justificationInsere o texto de justificativa de uso da Action para contas que possuem governança habilitada.
stk create action action-name --justification "my justification text"
-t, --typeTipo da Action que será criada. Os valores possíveis são shell e python.
stk create action my-action --type shell
-r, --remoteURL Git para definir como origem do repositório da Action. Obrigatório quando o NOME não for fornecido. Neste caso, o NOME será definido como o nome do repositório Git.
stk create action --remote my-url-git-repository
-sgi, --skip-git-initUse para não inicializar um repositório Git na pasta da Action.
stk create action my-action --description "Action description" --skip-git-init
-q, --non-interactiveNão pergunta para o usuário por parâmetros de entrada que faltam e retorna um erro caso algum parâmetro obrigatório não tenha sido fornecido.
stk create action my-action-name --non-interactive
-rc , --requires-connectionsDefine as Connection requeridas pela Action. Todas as Connections devem estar entres aspas ("). Para definir mais de uma Connection, separe cada uma com uma vírgula (,). Utilize o padrão: [type]|[alias],[type]|[alias]
stk create action my-action -rc aws-eks-conn|my-eks-conn,aws-rds-conn|my-rds-conn
-o, --targetA opção -o, --target permite definir um nome de pasta diferente para criar o conteúdo da Action. Se a pasta não existir, ela será criada. Se você não usar a opção -o ou --target, o nome da pasta do conteúdo da Action será o mesmo que você deu ao criar a sua Action.
stk create action my-action-name --target home/user/Applications/my-action 
-h, --helpExibe a ajuda do comando e sai.
stk create action --help

stk list action

O comando stk list action exibe no terminal uma lista com todas as Actions. Você tem duas opções:

  1. Listar Actions de um Workspace disponíveis para a sua conta. Nesse caso, você deve estar dentro de um Workspace, para isso, execute o comando stk use workspace antes de listar as Actions.

  2. Listar Actions fora de um Workspace. Aqui, você precisa informar o Estúdio depois que executa o comando.

Você tem acesso ao nome, tipo, descrição e versão da Action. E também avisa se tem conteúdo depreciado com a tag 'deprecated'.

Antes de executar o comando você deve:

  1. Fazer o login na sua Conta com o comando stk login.
  2. Estar com um Workspace ativo. Acesse um Workspace com o comando stk use workspace.

Uso

stk list action

Parâmetros

OpçõesDescriçãoExemplo
-sta, --stackLista apenas as Actions de uma Stack específica.
stk list action --stack my-stack-name
-h, --helpExibe a ajuda do comando e sai.
stk list action --help

stk publish action

O comando stk action faz a publicação da sua Action na StackSpot.

Atenção!

Os arquivos listados no .stkignore não serão publicados na StackSpot, mas serão adicionados por commits do Git normalmente caso não sejam ignorados no .gitignore.

Uso

stk publish action --studio [TEXTO]

Parâmetros

OpçõesDescriçãoExemplo
-s, --studioNome do Estúdio que você quer publicar a Action.
stk publish action --studio my-studio-name
-v, --verboseExibe as etapas da publicação com detalhes.
stk publish action --verbose
-j, --justificationInsere o texto de justificativa de uso da Action para Estúdios que possuem governança habilitada.
stk publish action --studio my-studio-name --justification "my justification text"
-h, --helpExibe a ajuda do comando e sai.
stk publish action --help

stk run action

O comando stk run action executa uma Action.

Informação Adicional

Para usar uma Action utilizando os valores configurados em um Workspace, acesse primeiro um Workspace com o comando stk use workspace.

Execute a Action seguindo o padrão stk run action [STUDIO/STACK/ACTION]:

stk run action my-studio-name/my-stack-name/my-action-name

Uso

stk run action [NAME_OR_PATH]

Parâmetros

OpçõesDescriçãoExemplo
NAME_OR_PATHNome de uma Action publicada. Valores válidos:

1. Executar uma Action sem usar as variáveis de contexto do Workspace: <studio-slug>/<action-name>@<action-version>. Só pode ser utilizado quando não há um Workspace ativo.

2. Executar uma Action usando as variáveis de contexto configuradas para a Action na Stack dentro do Workspace ativo. A versão da Action (@stack-version) só pode ser definida se não houver um Workspace ativo: <studio-slug>/<stack-slug>/<action-name>@<stack-version>.
1. Sem Workspace:
stk run action my-studio-name/action-name@1.0.0


2. Workspace ativo:
stk run action my-studio-name/my-stack-name@1.0.0/my-action-name


3. Caminho da Action:
stk run action User/HomeDir/action-folder-name
-i, --inputs-jsonParâmetros de entrada da Action no formato JSON.
stk run action [ path da action] --inputs-json "$INPUTS"
-e, --envNome do ambiente em que a Action vai executar.
stk run action my-studio-name/my-stack-name/my-action-name --env prod
-q, --non-interactiveNão pergunta para o usuário por parâmetros de entrada que faltam e retorna um erro caso algum parâmetro obrigatório não tenha sido fornecido.
stk run action my-studio-name/my-stack-name/my-action-name --non-interactive
-c, --connectionsDefine os alias das Connections da Action. Para definir mais de um alias, separe cada uma com uma vírgula (,). Use o padrão: '[{"alias": "connection_alias", "selected": "selected_alias"}]'Workspace ativo:
stk run action my-studio-name/my-stack-name/my-action-name --connections `'[{"alias": "connection_alias", "selected": "selected_alias"}]'
-h, --helpExibe a ajuda do comando e sai.
stk run action --help

stk validate action

O comando stk validate action valida a estrutura da sua Action. Você deve executar o comando dentro da pasta da Action que deseja validar.

Informação Adicional

Os arquivos ignorados no arquivo .gitignore não serão validados pelo comando.

A validação ocorre por tipo de Action, os itens validados para cada tipo são:

Todas as Actions

  • Valida se existe o arquivo action.yaml ou action.yml;
  • Valida se os arquivos action.yaml ou action.yml estão duplicados dentro do diretório da Action.

Actions do tipo python

  • É especificado um path para o script.py.
    • É validado se o script.py está vazio
    • É validado se existe arquivo script.py.
    • É validado se os inputs são do tipo certo (pattern com regex).

Actions do tipo shell

  • É validado se os inputs são do tipo certo (pattern com regex)

Uso

stk validate action --verbose --studio my_studio_slug

Parâmetros

OpçõesDescriçãoExemplo
-v, --verboseOpção para listar os detalhes de todos os itens analisados e validados da sua Action
stk validate action --verbose
-stu, --studio STUDIO_SLUGSlug do Estúdio usado para validar as informações da Action com base na versão da Action publicada no Estúdio. Saiba mais detalhes em breaking changes
stk validate action --studio my_studio_slug
-h, --helpExibe a ajuda do comando e finaliza a busca.
stk validate action --help

Aviso de quebra de versão (Breaking Changes)

Na StackSpot, uma breaking change em Plugins ou Actions é uma alteração que pode quebrar a compatibilidade com versões anteriores. Isso significa que, após a atualização, Plugins ou Actions que funcionavam antes podem parar de funcionar corretamente ou precisar de ajustes para voltar a operar como esperado.

As breaking changes são detectadas pelo comando de validação ao informar o parâmetro --studio. Nele, você informa o slug do Estúdio para que a validação compare a versão da Action que você quer publicar com a versão já publicada. Se alguma alteração causar a quebra de compatibilidade, um aviso será exibido no terminal informando que as mudanças vão gerar uma breaking change.

A alteração dos seguintes parâmetros no arquivo action.yaml causam uma breaking change na sua Action:

  • SchemaVersion: mudança da versão do schema;
  • Requires changes: mudanças nos itens dentro do campo requires;
  • Connections changes: mudanças nas Connections Interfaces;
  • Input change size: alterações no tamanho do input (quantidade de texto, adição de opções, etc);
  • Input type change: mudar o tipo do input;
  • Input condition change: mudar o valor da variável condicional usada na opção condition de um input;
  • Input sub-input change: qualquer alteração em inputs que estejam dentro de outros inputs. Como inputs que são itens dentro de uma lista ou objeto.