Pular para o conteúdo principal

Escopo de Inputs

Todos os tipos de inputs agora possuem o parâmetro scope. Este parâmetro determina um escopo de uso para os inputs do Workflow. O escopo de um input é válido para todos os sub-inputs.

Atenção!

Os inputs do tipo generated-connection e required-connection suportam apenas os escopos hidden ou default. Se forem usados como sub-inputs, o input principal precisa obrigatoriamente ter o escopo hidden ou default.

Confira a seguir:

Hidden:

Esse escopo identifica parâmetros necessários para o Workflow, Action ou Plugin, que precisam ser validados, mas não serão solicitados ao usuário diretamente.

Inputs com o escopo hidden devem ser fornecidos pela linha de comando ou variável de ambiente durante a execução do Workflow.

Considere o exemplo a seguir. Um input do tipo texto é usado para enviar o token do Git para uma Action que realizará a clonagem de repositórios:

spec:
inputs:
- type: text
name: github_token
scope: hidden
label: "Github token"
... outros inputs ...
jobs:
- id: git_clone
steps:
- type: action
id: git_clone_action
name: stackspot/git-clone@1
inputs:
credentials: {{ github_token }}
... outros inputs ...

Ao executar o Workflow, o input github_token deve ser informado como parâmetro na linha de comando da seguinte forma:

  • --github_token "valor do token".

Se o input com escopo hidden não for informado desta forma, o STK CLI não irá perguntar pelo preenchimento do input, e o Workflow não será executado.

Default:

O escopo default mantêm o mesmo comportamento dos inputs de Actions e Plugins para o Workflow. Quando o parâmetro scope não é definido no input do Workflow, escopo do input terá o valor default.

spec:
inputs:
- type: text
name: github_token
scope: default # caso não seja declarado
label: "Github token"
... outros inputs ...
jobs:
- id: git_clone
steps:
- type: action
id: git_clone_action
name: stackspot/git-clone@1
inputs:
credentials: {{ github_token }}
... outros inputs ...

Env:

O escopo env determina o comportamento do input do Workflow como um input de ambiente. O input terá o mesmo comportamento dos inputs-envs do Plugins, dessa forma você consegue definir um valor diferente para o input do Workflow baseado nos ambientes disponíveis no seu Workspace.
Para mais detalhes, acesse a página de Inputs-envs.

spec:
inputs:
- type: text
name: github_token
scope: env
label: "Github token"
... outros inputs ...
jobs:
- id: git_clone
steps:
- type: action
id: git_clone_action
name: stackspot/git-clone@1
inputs:
credentials: {{ github_token }}
... outros inputs ...

Deploy:

O escopo deploy determina que o input será perguntado apenas em Workflows do tipo deploy.

spec:
inputs:
- type: text
name: image
scope: deploy
label: "Imagem ECR"
... outros inputs ...
jobs:
- id: git_clone
steps:
- type: action
id: git_clone_action
name: stackspot/git-clone@1
inputs:
credentials: {{ github_token }}
... outros inputs ...