Com variáveis e expressões, você pode usar parâmetros de entrada e parâmetros de saída com suas tarefas de pipeline. Os parâmetros inseridos vinculam a tarefa de pipeline a uma ou mais variáveis, expressões ou condições e determinam o comportamento do pipeline quando ele é executado.

Pipelines podem executar soluções de entrega de software simples ou complexas

Ao associar tarefas de pipeline, você pode incluir expressões padrão e complexas. Como resultado, seu pipeline pode executar soluções de entrega de software simples ou complexas.

Para criar os parâmetros no seu pipeline, clique na guia Entrada ou Saída e adicione uma variável inserindo o símbolo de cifrão $ e uma expressão. Por exemplo, esse parâmetro é usado como uma entrada de tarefa que chama uma URL: ${Stage0.Task3.input.URL}.

O formato de associações de variáveis usa componentes de sintaxe chamados de escopos e chaves. O SCOPE define o contexto como entrada ou saída, e o KEY define os detalhes. No exemplo de parâmetro ${Stage0.Task3.input.URL}, o input é o SCOPE e a URL é a KEY.

As propriedades de saída de qualquer tarefa podem ser resolvidas para qualquer número de níveis aninhados de vinculação de variável.

Para saber mais sobre como usar associações de variáveis em pipelines, consulte Como usar associações de variáveis em pipelines do Code Stream.

Usando expressões de cifrão com escopos e chaves para associar tarefas de pipeline

Você pode associar tarefas de pipeline usando expressões em variáveis de símbolo de cifrão. Insira expressões como ${SCOPE.KEY.<PATH>}.

Para determinar o comportamento de uma tarefa de pipeline, em cada expressão, SCOPE é o contexto usado pelo Code Stream. O escopo procura um KEY, que define os detalhes da ação que a tarefa realiza. Quando o valor para KEY é um objeto aninhado, você pode fornecer um PATH opcional.

Esses exemplos descrevem SCOPE e KEY e mostram como você pode usá-los no seu pipeline.

Tabela 1. Usando SCOPE e KEY
SCOPE Finalidade da expressão e do exemplo KEY Como usar SCOPE e KEY no pipeline
entrada

Propriedades de entrada de um pipeline:

${input.input1}

Nome da propriedade de entrada

Para fazer referência à propriedade de entrada de um pipeline em uma tarefa, use este formato:

tasks:
  mytask:
    type: REST
    input:
      url: ${input.url}
      action: get
input:
  url: https://www.vmware.com
saída

Propriedades de saída de um pipeline:

${output.output1}

Nome da propriedade de saída

Para fazer referência a uma propriedade de saída para enviar uma notificação, use este formato:

notifications:
 email:
 - endpoint: MyEmailEndpoint
   subject: "Deployment Successful"
   event: COMPLETED
   to:
   - [email protected]
   body: |
     Pipeline deployed the service successfully. Refer ${output.serviceURL}
entrada de tarefa

Entrada para uma tarefa:

${MY_STAGE.MY_TASK.input.SOMETHING}

Indica a entrada de uma tarefa em uma notificação

Quando um trabalho do Jenkins é iniciado, ele pode fazer referência ao nome do trabalho disparado na entrada da tarefa. Nesse caso, envie uma notificação usando este formato:

notifications:
  email:
  - endpoint: MyEmailEndpoint
    stage: MY_STAGE
    task: MY_TASK
    subject: "Build Started"
    event: STARTED
    to:
    - [email protected]
    body: |
      Jenkins job ${MY_STAGE.MY_TASK.input.job} started for commit id ${input.COMMITID}.
saída da tarefa

Saída de uma tarefa:

${MY_STAGE.MY_TASK.output.SOMETHING}

Indica a saída de uma tarefa em uma tarefa subsequente

Para fazer referência à saída da tarefa 1 do pipeline na tarefa 2, use o seguinte formato:

taskOrder:
  - task1
  - task2
tasks:
 task1:
   type: REST
   input:
     action: get
     url: https://www.example.org/api/status
 task2:
   type: REST
   input:
     action: post
     url: https://status.internal.example.org/api/activity
     payload: ${MY_STAGE.task1.output.responseBody}
var

Variável:

${var.myVariable}

Fazer referência à variável em um endpoint

Para fazer referência a uma variável secreta em um endpoint para uma senha, use este formato:

---
project: MyProject
kind: ENDPOINT
name: MyJenkinsServer
type: jenkins
properties:
 url: https://jenkins.example.com
 username: jenkinsUser
 password: ${var.jenkinsPassword}
var

Variável:

${var.myVariable}

Fazer referência à variável em um pipeline

Para fazer referência à variável em um URL de pipeline, use este formato:

tasks:
 task1:
  type: REST
  input:
   action: get
   url: ${var.MY_SERVER_URL}
status da tarefa

Status de uma tarefa:

${MY_STAGE.MY_TASK.status}

${MY_STAGE.MY_TASK.statusMessage}

status do estágio

Status de um estágio:

${MY_STAGE.status}

${MY_STAGE.statusMessage}

Expressões padrão

Você pode usar variáveis com expressões no seu pipeline. Esse resumo inclui as expressões padrão que você pode usar.

Expressão Descrição
${comments} Comentários fornecidos quando na solicitação de execução do pipeline.
${duration} Duração da execução do pipeline.
${endTime} Hora de término da execução do pipeline em UTC, se concluída.
${executedOn} O mesmo que a hora de início, a hora de início da execução do pipeline em UTC.
${executionId} ID da execução do pipeline.
${executionUrl} URL que navega até a execução do pipeline na interface do usuário.
${name} Nome do pipeline.
${requestBy} Nome do usuário que solicitou a execução.
${stageName} Nome do estágio atual, quando usado no escopo de um estágio.
${startTime} Hora de início da execução do pipeline em UTC.
${status} Status da execução.
${statusMessage} Mensagem de status da execução do pipeline.
${taskName} Nome da tarefa atual, quando usada em uma entrada de tarefa ou notificação.

Usando SCOPE e KEY em tarefas de pipeline

Você pode usar expressões com qualquer uma das tarefas de pipeline com suporte. Esses exemplos mostram como definir o SCOPE e KEY e confirmar a sintaxe. Os exemplos de códigos usam MY_STAGE e MY_TASK como nomes de estágios e tarefas de pipeline.

Para saber mais sobre tarefas disponíveis, consulte Que tipos de tarefas estão disponíveis no Code Stream.

Tabela 2. Tarefas de isolamento
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
Operação do Usuário
Input

summary: resumo da solicitação para Operação do Usuário

description: descrição da solicitação de Operação do Usuário

approvers: lista de endereços de e-mail de aprovadores, em que cada entrada pode ser uma variável com uma vírgula, ou use ponto-e-vírgula para separar e-mails

approverGroups: lista de endereços de grupos de aprovadores para a plataforma e a identidade

sendemail: envia opcionalmente uma notificação por e-mail após a solicitação ou resposta quando definido como "true"

expirationInDays: número de dias que representa o tempo de expiração da solicitação

${MY_STAGE.MY_TASK.input.summary}

${MY_STAGE.MY_TASK.input.description}

${MY_STAGE.MY_TASK.input.approvers}

${MY_STAGE.MY_TASK.input.approverGroups}

${MY_STAGE.MY_TASK.input.sendemail}

${MY_STAGE.MY_TASK.input.expirationInDays}

Output

index: string hexadecimal de seis dígitos que representa a solicitação

respondedBy: nome da conta da pessoa que aprovou/rejeitou a Operação do Usuário

respondedByEmail: endereço de e-mail da pessoa que respondeu

comments: comentários fornecidos durante a resposta

${MY_STAGE.MY_TASK.output.index}

${MY_STAGE.MY_TASK.output.respondedBy}

${MY_STAGE.MY_TASK.output.respondedByEmail}

${MY_STAGE.MY_TASK.output.comments}

Condição
Input

condition: condição a ser avaliada. Quando a condição é avaliada como "true", a tarefa é marcada como concluída, enquanto outras respostas reprovam a tarefa

${MY_STAGE.MY_TASK.input.condition}

Output

result: resultado após a avaliação

${MY_STAGE.MY_TASK.output.response}

Tabela 3. Tarefas de pipeline
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
Pipeline
Input

name: nome do pipeline a ser executado

inputProperties: propriedades de entrada a serem transmitidas à execução de pipeline aninhada

${MY_STAGE.MY_TASK.input.name}

${MY_STAGE.MY_TASK.input.inputProperties} # Referência a todas as propriedades

${MY_STAGE.MY_TASK.input.inputProperties.input1} # Referência ao valor de input1

Output

executionStatus: status da execução do pipeline

executionIndex: índice da execução do pipeline

outputProperties: propriedades de saída de uma execução de pipeline

${MY_STAGE.MY_TASK.output.executionStatus}

${MY_STAGE.MY_TASK.output.executionIndex}

${MY_STAGE.MY_TASK.output.outputProperties} # Referência a todas as propriedades

${MY_STAGE.MY_TASK.output.outputProperties.output1} # Referência ao valor de output1

Tabela 4. Automatizar tarefas de integração contínua
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
IC
Input

steps: um conjunto de cadeias de caracteres que representam comandos para execução

export: variáveis de ambiente a serem preservadas após a execução das etapas

artifacts: caminhos de artefatos a serem preservados no caminho compartilhado

process: conjunto de elementos de configuração para processamento de JUnit, JaCoCo, Checkstyle, FindBugs

${MY_STAGE.MY_TASK.input.steps}

${MY_STAGE.MY_TASK.input.export}

${MY_STAGE.MY_TASK.input.artifacts}

${MY_STAGE.MY_TASK.input.process}

${MY_STAGE.MY_TASK.input.process[0].path} # Referência ao caminho da primeira configuração

Output

exports: par de chave/valor, que representa as variáveis de ambiente exportadas da entrada export

artifacts: caminho dos artefatos preservados com êxito

processResponse: conjunto de resultados processados para a entrada process

${MY_STAGE.MY_TASK.output.exports} # Referência a todas as exportações

${MY_STAGE.MY_TASK.output.exports.myvar} # Referência ao valor de myvar

${MY_STAGE.MY_TASK.output.artifacts}

${MY_STAGE.MY_TASK.output.processResponse}

${MY_STAGE.MY_TASK.output.processResponse[0].result} # Resultado da primeira configuração do processo

Personalizado
Input

name: nome da integração personalizada

version: uma versão da integração personalizada, liberada ou preterida

properties: propriedades a serem enviadas à integração personalizada

${MY_STAGE.MY_TASK.input.name}

${MY_STAGE.MY_TASK.input.version}

${MY_STAGE.MY_TASK.input.properties} # Referência a todas as propriedades

${MY_STAGE.MY_TASK.input.properties.property1} # Referência ao valor de property1

Output

properties: propriedades de saída da resposta de integração personalizada

${MY_STAGE.MY_TASK.output.properties} # Referência a todas as propriedades

${MY_STAGE.MY_TASK.output.properties.property1} # Referência ao valor de property1

Tabela 5. Automatizar tarefas de implantação contínua: Modelo de nuvem
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
Modelo de nuvem
Input

action: Uma das opções createDeployment, updateDeployment, deleteDeployment, rollbackDeployment

blueprintInputParams: usado para as ações criar implantação e atualizar implantação

allowDestroy: as máquinas podem ser destruídas no processo de implantação da atualização.

CREATE_DEPLOYMENT

  • blueprintName: Nome do modelo de nuvem
  • blueprintVersion: versão do modelo de nuvem

OU

  • fileUrl: URL do modelo de nuvem remota YAML, após selecionar um servidor GIT.

UPDATE_DEPLOYMENT

Qualquer uma destas combinações:

  • blueprintName: Nome do modelo de nuvem
  • blueprintVersion: versão do modelo de nuvem

OU

  • fileUrl: URL do modelo de nuvem remota YAML, após selecionar um servidor GIT.

------

  • deploymentId: ID da implantação

OU

  • deploymentName: nome da implantação

------

DELETE_DEPLOYMENT

  • deploymentId: ID da implantação

OU

  • deploymentName: nome da implantação

ROLLBACK_DEPLOYMENT

Qualquer uma destas combinações:

  • deploymentId: ID da implantação

OU

  • deploymentName: nome da implantação

------

  • blueprintName: Nome do modelo de nuvem
  • rollbackVersion: versão para a qual reverter
Output

Parâmetros que podem se associar a outras tarefas ou à saída de um pipeline:

  • O nome da implantação pode ser acessado como ${Stage0.Task0.output.deploymentName}
  • O Id de implantação pode ser acessado como ${Stage0.Task0.output.deploymentId}
  • Detalhes de Implantação são um objeto complexo, e detalhes internos podem ser acessados usando os resultados do JSON.

Para acessar qualquer propriedade, use o operador de ponto para seguir a hierarquia JSON. Por exemplo, para acessar o endereço do recurso Cloud_Machine_1 [0], a associação $ é:

${Stage0.Task0.output.deploymentDetails.resources['Cloud_Machine_1[0]'].address}

Da mesma forma, para o tipo, a associação $ é:

${Stage0.Task0.output.deploymentDetails.resources['Cloud_Machine_1[0]'].flavor}

Na interface do usuário do Code Stream, você pode obter as associações $ para qualquer propriedade.

  1. Na área de propriedade de saída da tarefa, clique em EXIBIR JSON DE SAÍDA.
  2. Para encontrar a associação $, insira qualquer propriedade.
  3. Clique no ícone de pesquisa, que exibe a associação $ correspondente.

Exemplo de saída JSON:

A saída JSON inclui um localizador de caminho onde você pode procurar termos como endereço, e o Code Stream exibe a definição completa da associação.

Amostra de objeto de detalhes de implantação:

{
	"id": "6a031f92-d0fa-42c8-bc9e-3b260ee2f65b",
	"name": "deployment_6a031f92-d0fa-42c8-bc9e-3b260ee2f65b",
	"description": "Pipeline Service triggered operation",
	"orgId": "434f6917-4e34-4537-b6c0-3bf3638a71bc",
	"blueprintId": "8d1dd801-3a32-4f3b-adde-27f8163dfe6f",
	"blueprintVersion": "1",
	"createdAt": "2020-08-27T13:50:24.546215Z",
	"createdBy": "[email protected]",
	"lastUpdatedAt": "2020-08-27T13:52:50.674957Z",
	"lastUpdatedBy": "[email protected]",
	"inputs": {},
	"simulated": false,
	"projectId": "267f8448-d26f-4b65-b310-9212adb3c455",
	"resources": {
		"Cloud_Machine_1[0]": {
			"id": "/resources/compute/1606fbcd-40e5-4edc-ab85-7b559aa986ad",
			"name": "Cloud_Machine_1[0]",
			"powerState": "ON",
			"address": "10.108.79.33",
			"resourceLink": "/resources/compute/1606fbcd-40e5-4edc-ab85-7b559aa986ad",
			"componentTypeId": "Cloud.vSphere.Machine",
			"endpointType": "vsphere",
			"resourceName": "Cloud_Machine_1-mcm110615-146929827053",
			"resourceId": "1606fbcd-40e5-4edc-ab85-7b559aa986ad",
			"resourceDescLink": "/resources/compute-descriptions/1952d1d3-15f0-4574-ae42-4fbf8a87d4cc",
			"zone": "Automation / Vms",
			"countIndex": "0",
			"image": "ubuntu",
			"count": "1",
			"flavor": "small",
			"region": "MYBU",
			"_clusterAllocationSize": "1",
			"osType": "LINUX",
			"componentType": "Cloud.vSphere.Machine",
			"account": "bha"
		}
	},
	"status": "CREATE_SUCCESSFUL",
	"deploymentURI": "https://api.yourenv.com/automation-ui/#/deployment-ui;ash=/deployment/6a031f92-d0fa-42c8-bc9e-3b260ee2f65b"
}
Tabela 6. Automatizar tarefas de implantação contínua: Kubernetes
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
Kubernetes
Input

action: uma das opções GET, CREATE, APPLY, DELETE, ROLLBACK

  • timeout: tempo limite geral para qualquer ação
  • filterByLabel: rótulo adicional para filtragem da ação GET usando K8S labelSelector

GET, CREATE, DELETE, APPLY

  • yaml: YAML inline para processar e enviar ao Kubernetes
  • parameters: par de CHAVE, VALOR - Substitua $$KEY por VALOR na área de entrada do YAML inline
  • filePath: caminho relativo do endpoint SCM Git, se fornecido, a partir do qual obter o YAML
  • scmConstants: par de CHAVE, VALOR - Substitua $${KEY} por VALOR no YAML obtido no SCM.
  • continueOnConflict: quando definido como verdadeiro, se um recurso já estiver presente, a tarefa continuará.

ROLLBACK

  • resourceType: tipo de recurso para reverter
  • resourceName: nome do recurso para reverter
  • namespace: namespace no qual a reversão deve ser realizada
  • revision: revisão para a qual reverter

${MY_STAGE.MY_TASK.input.action} # Determina a ação a ser executada.

${MY_STAGE.MY_TASK.input.timeout}

${MY_STAGE.MY_TASK.input.filterByLabel}

${MY_STAGE.MY_TASK.input.yaml}

${MY_STAGE.MY_TASK.input.parameters}

${MY_STAGE.MY_TASK.input.filePath}

${MY_STAGE.MY_TASK.input.scmConstants}

${MY_STAGE.MY_TASK.input.continueOnConflict}

${MY_STAGE.MY_TASK.input.resourceType}

${MY_STAGE.MY_TASK.input.resourceName}

${MY_STAGE.MY_TASK.input.namespace}

${MY_STAGE.MY_TASK.input.revision}

Output

response: captura toda a resposta

response.<RESOURCE>: o recurso corresponde a configMaps, implantações, endpoints, entradas, trabalhos, namespaces, pods, replicaSets, replicationControllers, segredos, serviços, statefulSets, nós, loadBalancers.

response.<RESOURCE>.<KEY>: a chave corresponde a um de apiVersion, tipo, metadados, especificação

${MY_STAGE.MY_TASK.output.response}

${MY_STAGE.MY_TASK.output.response.}

Tabela 7. Integre aplicativos de desenvolvimento, teste e implantação
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
Bamboo
Input

plan: nome do plano

planKey: chave do plano

variables: variáveis a serem transmitidas ao plano

parameters: parâmetros a serem transmitidos ao plano

${MY_STAGE.MY_TASK.input.plan}

${MY_STAGE.MY_TASK.input.planKey}

${MY_STAGE.MY_TASK.input.variables}

${MY_STAGE.MY_TASK.input.parameters} # Referência a todos os parâmetros

${MY_STAGE.MY_TASK.input.parameters.param1} # Referência ao valor de param1

Output

resultUrl: a URL da compilação resultante

buildResultKey: a chave da compilação resultante

buildNumber: número da compilação

buildTestSummary: resumo da execução dos testes

successfulTestCount: resultado do teste aprovado

failedTestCount: resultado do teste reprovado

skippedTestCount: resultado de teste ignorado

artifacts: artefatos da compilação

${MY_STAGE.MY_TASK.output.resultUrl}

${MY_STAGE.MY_TASK.output.buildResultKey}

${MY_STAGE.MY_TASK.output.buildNumber}

${MY_STAGE.MY_TASK.output.buildTestSummary} # Referência a todos os resultados

${MY_STAGE.MY_TASK.output.successfulTestCount} # Referência à contagem de testes específica

${MY_STAGE.MY_TASK.output.buildNumber}

Jenkins
Input

job: nome do trabalho do Jenkins

parameters: parâmetros a serem transmitidos ao trabalho

${MY_STAGE.MY_TASK.input.job}

${MY_STAGE.MY_TASK.input.parameters} # Referência a todos os parâmetros

${MY_STAGE.MY_TASK.input.parameters.param1} # Referência ao valor de um parâmetro

Output

job: nome do trabalho do Jenkins

jobId: ID do trabalho resultante, como 1234

jobStatus: status no Jenkins

jobResults: coleção de resultados de cobertura de teste/código

jobUrl: URL da execução do trabalho resultante

${MY_STAGE.MY_TASK.output.job}

${MY_STAGE.MY_TASK.output.jobId}

${MY_STAGE.MY_TASK.output.jobStatus}

${MY_STAGE.MY_TASK.output.jobResults} # Referência a todos os resultados

${MY_STAGE.MY_TASK.output.jobResults.junitResponse} # Referência aos resultados do JUnit

${MY_STAGE.MY_TASK.output.jobResults.jacocoRespose} # Referência aos resultados do JaCoCo

${MY_STAGE.MY_TASK.output.jobUrl}

TFS
Input

projectCollection: coleção de projetos do TFS

teamProject: projeto selecionado da coleção disponível

buildDefinitionId: ID de Definição da Compilação a ser executado

${MY_STAGE.MY_TASK.input.projectCollection}

${MY_STAGE.MY_TASK.input.teamProject}

${MY_STAGE.MY_TASK.input.buildDefinitionId}

Output

buildId: ID da compilação resultante

buildUrl: URL para visitar o resumo da compilação

logUrl: URL para visitar logs

dropLocation: local de destino dos artefatos, se houver

${MY_STAGE.MY_TASK.output.buildId}

${MY_STAGE.MY_TASK.output.buildUrl}

${MY_STAGE.MY_TASK.output.logUrl}

${MY_STAGE.MY_TASK.output.dropLocation}

vRO
Input

workflowId: ID do fluxo de trabalho a ser executado

parameters: parâmetros a serem transmitidos ao fluxo de trabalho

${MY_STAGE.MY_TASK.input.workflowId}

${MY_STAGE.MY_TASK.input.parameters}

Output

workflowExecutionId: ID da execução do fluxo de trabalho

properties: propriedades de saída da execução do fluxo de trabalho

${MY_STAGE.MY_TASK.output.workflowExecutionId}

${MY_STAGE.MY_TASK.output.properties}

Tabela 8. Integre outros aplicativos por meio de uma API
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
REST
Input

url: URL para chamar

action: método HTTP a ser usado

headers: cabeçalhos HTTP a serem aprovados

payload: carga útil da solicitação

fingerprint: impressão digital a ser correspondida para a uma URL que é https

allowAllCerts: quando definido como "true", pode ser qualquer certificado que tenha uma URL https

${MY_STAGE.MY_TASK.input.url}

${MY_STAGE.MY_TASK.input.action}

${MY_STAGE.MY_TASK.input.headers}

${MY_STAGE.MY_TASK.input.payload}

${MY_STAGE.MY_TASK.input.fingerprint}

${MY_STAGE.MY_TASK.input.allowAllCerts}

Output

responseCode: código da resposta HTTP

responseHeaders: cabeçalhos da resposta HTTP

responseBody: formato de cadeia de caracteres da resposta recebida

responseJson: resposta de passagem se o tipo de conteúdo for application/json

${MY_STAGE.MY_TASK.output.responseCode}

${MY_STAGE.MY_TASK.output.responseHeaders}

${MY_STAGE.MY_TASK.output.responseHeaders.header1} # Referência ao cabeçalho de resposta "header1"

${MY_STAGE.MY_TASK.output.responseBody}

${MY_STAGE.MY_TASK.output.responseJson} # Referência à resposta como JSON

${MY_STAGE.MY_TASK.output.responseJson.a.b.c} # Referência a um objeto aninhado após o caminho JSON a.b.c na resposta

Sondagem
Input

url: URL para chamar

headers: cabeçalhos HTTP a serem aprovados

exitCriteria: critérios a serem atendidos para que a tarefa seja bem-sucedida ou falhe. Um par de chave/valor de "success" → Expressão "failure" → Expressão

pollCount: número de iterações a serem executadas. Um administrador do Code Stream pode definir a contagem de sondagens como um máximo de 10.000.

pollIntervalSeconds: número de segundos para aguardar entre cada iteração. O intervalo de sondagem deve ser maior que ou igual a 60 segundos.

ignoreFailure: quando definido como "true", ignora as falhas de resposta intermediárias

fingerprint: impressão digital a ser correspondida para a uma URL que é https

allowAllCerts: quando definido como "true", pode ser qualquer certificado que tenha uma URL https

${MY_STAGE.MY_TASK.input.url}

${MY_STAGE.MY_TASK.input.headers}

${MY_STAGE.MY_TASK.input.exitCriteria}

${MY_STAGE.MY_TASK.input.pollCount}

${MY_STAGE.MY_TASK.input.pollIntervalSeconds}

${MY_STAGE.MY_TASK.input.ignoreFailure}

${MY_STAGE.MY_TASK.input.fingerprint}

${MY_STAGE.MY_TASK.input.allowAllCerts}

Output

responseCode: código da resposta HTTP

responseBody: formato de cadeia de caracteres da resposta recebida

responseJson: resposta de passagem se o tipo de conteúdo for application/json

${MY_STAGE.MY_TASK.output.responseCode}

${MY_STAGE.MY_TASK.output.responseBody}

${MY_STAGE.MY_TASK.output.responseJson} # Refer to response as JSON

Tabela 9. Execute scripts remotos e definidos pelo usuário
Tarefa Escopo Key Como usar SCOPE e KEY na tarefa
PowerShell

Para executar uma tarefa do PowerShell, você deve:

Entrada

host: endereço IP ou nome do host da máquina

username: nome de usuário a ser usado para conexão

password: senha a ser usada para conexão

useTLS: tentar conexão https

trustCert: quando definido como "true", confia em certificados autoassinados

script: script a ser executado

workingDirectory: caminho do diretório para o qual alternar antes de executar o script

environmentVariables: um par de chave/valor de variável de ambiente a ser definido

arguments: argumentos a serem transmitidos ao script

${MY_STAGE.MY_TASK.input.host}

${MY_STAGE.MY_TASK.input.username}

${MY_STAGE.MY_TASK.input.password}

${MY_STAGE.MY_TASK.input.useTLS}

${MY_STAGE.MY_TASK.input.trustCert}

${MY_STAGE.MY_TASK.input.script}

${MY_STAGE.MY_TASK.input.workingDirectory}

${MY_STAGE.MY_TASK.input.environmentVariables}

${MY_STAGE.MY_TASK.input.arguments}

Saída

response: conteúdo do arquivo $SCRIPT_RESPONSE_FILE

responseFilePath: valor de $SCRIPT_RESPONSE_FILE

exitCode: código de saída do processo

logFilePath: caminho para o arquivo contendo stdout

errorFilePath: caminho para o arquivo contendo stderr

${MY_STAGE.MY_TASK.output.response}

${MY_STAGE.MY_TASK.output.responseFilePath}

${MY_STAGE.MY_TASK.output.exitCode}

${MY_STAGE.MY_TASK.output.logFilePath}

${MY_STAGE.MY_TASK.output.errorFilePath}

SSH
Input

host: endereço IP ou nome do host da máquina

username: nome de usuário a ser usado para conexão

password: senha a ser usada para conexão (opcionalmente, é possível usar privateKey)

privateKey: chave privada a ser usada para conexão

passphrase: senha opcional para desbloquear privateKey

script: script a ser executado

workingDirectory: caminho do diretório para o qual alternar antes de executar o script

environmentVariables: par de chave/valor da variável de ambiente a ser definida

${MY_STAGE.MY_TASK.input.host}

${MY_STAGE.MY_TASK.input.username}

${MY_STAGE.MY_TASK.input.password}

${MY_STAGE.MY_TASK.input.privateKey}

${MY_STAGE.MY_TASK.input.passphrase}

${MY_STAGE.MY_TASK.input.script}

${MY_STAGE.MY_TASK.input.workingDirectory}

${MY_STAGE.MY_TASK.input.environmentVariables}

Output

response: conteúdo do arquivo $SCRIPT_RESPONSE_FILE

responseFilePath: valor de $SCRIPT_RESPONSE_FILE

exitCode: código de saída do processo

logFilePath: caminho para o arquivo contendo stdout

errorFilePath: caminho para o arquivo contendo stderr

${MY_STAGE.MY_TASK.output.response}

${MY_STAGE.MY_TASK.output.responseFilePath}

${MY_STAGE.MY_TASK.output.exitCode}

${MY_STAGE.MY_TASK.output.logFilePath}

${MY_STAGE.MY_TASK.output.errorFilePath}

Como usar uma associação de variáveis entre tarefas

Este exemplo mostra como usar associações de variáveis nas suas tarefas de pipeline.

Tabela 10. Exemplos de formatos de sintaxe
Exemplo Sintaxe
Para usar um valor de saída de tarefa para notificações de pipeline e propriedades de saída de pipeline ${<Stage Key>.<Task Key>.output.<Task output key>}
Para fazer referência ao valor de saída da tarefa anterior como entrada para a tarefa atual ${<Previous/Current Stage key>.<Previous task key not in current Task group>.output.<task output key>}

Para saber mais

Para saber mais sobre variáveis de associação em tarefas, consulte: