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.
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 ...