

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Integração com GitHub ações
<a name="integrations-github-actions"></a>

Uma *GitHub ação* é muito parecida com uma [CodeCatalyst ação](workflows-actions.md#workflows-actions-types-cc), exceto pelo fato de ter sido desenvolvida para uso com GitHub fluxos de trabalho. Para obter detalhes sobre GitHub ações, consulte a documentação de [GitHub ações](https://docs.github.com/en/actions).

Você pode usar GitHub ações junto com CodeCatalyst ações nativas em um CodeCatalyst fluxo de trabalho.

Há duas maneiras de adicionar uma GitHub ação a um CodeCatalyst fluxo de trabalho:
+ Você pode selecionar a GitHub Ação em uma lista organizada no CodeCatalyst console. Várias GitHub ações populares estão disponíveis. Para obter mais informações, consulte [Adicionando uma ação com curadoria GitHub](integrations-github-action-add-curated.md).
+ Se a GitHub Ação que você deseja usar não estiver disponível no CodeCatalyst console, você poderá adicioná-la usando uma ação **GitHub Ações**.

  Uma ação de ***GitHub ações*** é uma *CodeCatalyst ação* que envolve uma GitHub ação e a torna compatível com CodeCatalyst fluxos de trabalho.

  Aqui está um exemplo de uma ação de **GitHub ações** envolvendo a ação [ GitHubSuper-Linter](https://github.com/marketplace/actions/super-linter):

  ```
  Actions:
    GitHubAction:
      Identifier: aws/github-actions-runner@v1
      Configuration:
        Steps:
          - name: Lint Code Base
            uses: github/super-linter@v4
            env:
              VALIDATE_ALL_CODEBASE: "true"
              DEFAULT_BRANCH: main
  ```

  No código anterior, a ação CodeCatalyst **GitHub Actions** (identificada por`aws/github-actions-runner@v1`) envolve a ação Super-Linter (identificada por`github/super-linter@v4`), fazendo com que ela funcione em um fluxo de trabalho. CodeCatalyst 

  Para obter mais informações, consulte [Adicionando a GitHub ação 'Ações'](integrations-github-action-add.md).

Todas as GitHub ações, curadas ou não, devem ser agrupadas dentro de uma ação **GitHub Actions** (`aws/github-actions-runner@v1`), conforme mostrado no exemplo anterior. O invólucro é necessário para a ação funcionar bem. 

**Topics**
+ [Como as GitHub ações são diferentes das CodeCatalyst ações?](#integrations-github-actions-how-different)
+ [GitHub As ações podem interagir com outras CodeCatalyst ações no fluxo de trabalho?](#integrations-github-actions-interactions.title)
+ [Quais GitHub ações posso usar?](#integrations-github-actions-supported)
+ [GitHub Limitações das ações em CodeCatalyst](#integrations-github-actions-limitations)
+ [Como adiciono uma GitHub ação (etapas de alto nível)?](#integrations-github-actions-how-to)
+ [A GitHub ação é executada GitHub?](#integrations-github-actions-where-it-runs)
+ [Também posso usar GitHub fluxos de trabalho?](#integrations-github-actions-workflows-support.title)
+ [Imagem de tempo de execução usada pela GitHub ação 'Ações'](#integrations-github-actions-runtime)
+ [Tutorial: código Lint usando uma GitHub ação](integrations-github-action-tutorial.md)
+ [Adicionando a GitHub ação 'Ações'](integrations-github-action-add.md)
+ [Adicionando uma ação com curadoria GitHub](integrations-github-action-add-curated.md)
+ [Exportação dos parâmetros de saída do GitHub](integrations-github-action-export.md)
+ [Referenciando parâmetros GitHub de saída](integrations-github-action-referencing.md)
+ [GitHub Ação 'Ações' YAML](github-action-ref.md)

## Como as GitHub ações são diferentes das CodeCatalyst ações?
<a name="integrations-github-actions-how-different"></a>

GitHub As ações usadas em um CodeCatalyst fluxo de trabalho não têm o mesmo nível de acesso e integração com AWS CodeCatalyst recursos (como [ambientes](deploy-environments.md) e [problemas](issues.md)) que CodeCatalyst as ações.

## GitHub As ações podem interagir com outras CodeCatalyst ações no fluxo de trabalho?
<a name="integrations-github-actions-interactions.title"></a>

Sim. Por exemplo, GitHub as ações podem usar variáveis produzidas por outras CodeCatalyst ações como entrada e também podem compartilhar parâmetros de saída e artefatos com CodeCatalyst ações. Para obter mais informações, consulte [Exportação dos parâmetros de saída do GitHub](integrations-github-action-export.md) e [Referenciando parâmetros GitHub de saída](integrations-github-action-referencing.md).

## Quais GitHub ações posso usar?
<a name="integrations-github-actions-supported"></a>

Você pode usar qualquer GitHub ação disponível no CodeCatalyst console e qualquer GitHub ação disponível no [GitHubMarketplace](https://github.com/marketplace/actions). Se você decidir usar uma GitHub Ação do Marketplace, tenha em mente as seguintes [limitações](#integrations-github-actions-limitations).

## GitHub Limitações das ações em CodeCatalyst
<a name="integrations-github-actions-limitations"></a>
+ GitHub As ações não podem ser usadas com o tipo de [computação CodeCatalyst Lambda](workflows-working-compute.md#compute.types).
+ GitHub As ações são executadas na imagem Docker do ambiente de execução de [novembro de 2022](build-images.md#build.previous-image), que inclui ferramentas mais antigas. Para ter mais informações sobre a imagem e as ferramentas, consulte [Especificação de imagens de ambiente de runtime](build-images.md).
+ GitHub Ações que dependem internamente do [`github`contexto](https://docs.github.com/en/actions/learn-github-actions/contexts#github-context) ou em que recursos GitHub específicos de referência não funcionarão. CodeCatalyst Por exemplo, as ações a seguir não funcionarão em CodeCatalyst:
  + Ações que tentam adicionar, alterar ou atualizar GitHub recursos. Os exemplos incluem ações que atualizam pull requests ou criam problemas no GitHub.
  + Quase todas as ações estão listadas em [https://github.com/actions.](https://github.com/actions)
+ GitHub As ações que são [ações de contêiner do Docker](https://docs.github.com/en/actions/creating-actions/about-custom-actions#docker-container-actions) funcionarão, mas devem ser executadas pelo usuário padrão do Docker (root). Não execute a ação como usuário 1001. (No momento em que este artigo foi escrito, o usuário 1001 trabalhava no GitHub, mas não no CodeCatalyst.) Para obter mais informações, consulte o tópico [USUÁRIO](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions#user) em [Suporte do Dockerfile para GitHub ações](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions).

Para obter uma lista das GitHub ações disponíveis por meio do CodeCatalyst console, consulte[Adicionando uma ação com curadoria GitHub](integrations-github-action-add-curated.md).

## Como adiciono uma GitHub ação (etapas de alto nível)?
<a name="integrations-github-actions-how-to"></a>

As etapas de alto nível para adicionar uma GitHub ação a um CodeCatalyst fluxo de trabalho são as seguintes:

1. No seu CodeCatalyst projeto, você **cria um fluxo de trabalho**. No fluxo de trabalho, você define como criar, testar e implantar a aplicação. Para obter mais informações, consulte [Conceitos básicos de fluxos de trabalho](workflows-getting-started.md).

1. No fluxo de trabalho, você **adiciona uma GitHub ação com curadoria** ou **adiciona a ação GitHub Ações**.

1. Realize uma das seguintes ações:
   + Se você optar por adicionar uma ação selecionada, configure-a. Para obter mais informações, consulte [Adicionando uma ação com curadoria GitHub](integrations-github-action-add-curated.md).
   + Se você optar por adicionar uma ação não curada, na ação **GitHubAções**, **cole o código YAML da GitHub Ação**. Você pode encontrar esse código na página de detalhes da GitHub Ação escolhida no [GitHubMarketplace](https://github.com/marketplace/actions). Provavelmente, você precisará modificar um pouco o código para que ele funcione CodeCatalyst. Para obter mais informações, consulte [Adicionando a GitHub ação 'Ações'](integrations-github-action-add.md).

1. (Opcional) No fluxo de trabalho, **adicione outras ações**, como as ações de criação e teste. Para obter mais informações, consulte [Compilação, teste e implantação com fluxos de trabalhoCompilação, teste e implantação com fluxos de trabalho](workflow.md).

1. Você **inicia o fluxo de trabalho** manual ou automaticamente por meio de um gatilho. O fluxo de trabalho executa a GitHub Ação e quaisquer outras ações no fluxo de trabalho. Para obter mais informações, consulte [Iniciar um fluxo de trabalho executado manualmente](workflows-manually-start.md).

Para saber detalhes das etapas, consulte:
+ [Adicionando uma ação com curadoria GitHub](integrations-github-action-add-curated.md).
+ [Adicionando a GitHub ação 'Ações'](integrations-github-action-add.md).

## A GitHub ação é executada GitHub?
<a name="integrations-github-actions-where-it-runs"></a>

Não. A GitHub ação é executada em CodeCatalyst, usando a [imagem CodeCatalyst do ambiente de tempo de execução](workflows-working-compute.md).

## Também posso usar GitHub fluxos de trabalho?
<a name="integrations-github-actions-workflows-support.title"></a>

Não.

## Imagem de tempo de execução usada pela GitHub ação 'Ações'
<a name="integrations-github-actions-runtime"></a>

A ação CodeCatalyst **GitHub Ações** é executada em uma [imagem de novembro de 2022](build-images.md#build.previous-image). Para obter mais informações, consulte [Imagens ativas](build-images.md#build-curated-images).

# Tutorial: código Lint usando uma GitHub ação
<a name="integrations-github-action-tutorial"></a>

Neste tutorial, você adiciona a [ GitHub ação Super-Linter](https://github.com/marketplace/actions/super-linter) a um fluxo de trabalho da Amazon CodeCatalyst . A ação Super-Linter inspeciona o código, encontra áreas em que o código tem erros, problemas de formatação e construções suspeitas e, em seguida, envia os resultados para o console). CodeCatalyst Depois de adicionar o linter ao fluxo de trabalho, você executa o fluxo de trabalho para aplicar o código lint a uma aplicação Node.js de exemplo (`app.js`). Depois, você corrige os problemas relatados e executa o fluxo de trabalho novamente para ver se as correções funcionaram.

**dica**  
Pense em usar o Super-Linter para aplicar o código lint a arquivos YAML, como [modelos do CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html).

**Topics**
+ [Pré-requisitos](#integrations-github-action-tutorial-prereqs)
+ [Etapa 1: criar um repositório de origem](#integrations-github-action-tutorial-create-source-repo)
+ [Etapa 2: adicionar um arquivo app.js](#integrations-github-action-tutorial-add-appjs)
+ [Etapa 3: criar um fluxo de trabalho que execute a ação Super-Linter](#integrations-github-action-tutorial-create-workflow)
+ [Etapa 4: corrigir problemas encontrados pelo Super-Linter](#integrations-github-action-tutorial-fix-probs)
+ [Limpeza](#integrations-github-action-tutorial-cleanup)

## Pré-requisitos
<a name="integrations-github-action-tutorial-prereqs"></a>

Antes de começar, você precisa de:
+ Um CodeCatalyst **espaço** com um conectado Conta da AWS. Para obter mais informações, consulte [Criar um espaço](spaces-create.md).
+ Um projeto vazio em seu CodeCatalyst espaço chamado`codecatalyst-linter-project`. Selecione a opção **Começar do zero** para criar esse projeto.

  ```
  ```

  Para obter mais informações, consulte [Criando um projeto vazio na Amazon CodeCatalyst](projects-create.md#projects-create-empty).

## Etapa 1: criar um repositório de origem
<a name="integrations-github-action-tutorial-create-source-repo"></a>

Nesta etapa, você cria um repositório de origem no CodeCatalyst. Você usará esse repositório para armazenar o arquivo de origem da aplicação de exemplo, `app.js`, para este tutorial.

Para ter mais informações sobre repositórios de origem, consulte [Criar um repositório de origem](source-repositories-create.md).

**Como criar um repositório de origem**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navegue até o projeto, `codecatalyst-linter-project`.

1. No painel de navegação, selecione **Código** e, em seguida, selecione **Repositórios de origem**. 

1. Escolha **Adicionar repositório** e selecione **Criar repositório**.

1. Em **Nome do repositório**, insira:

   ```
   codecatalyst-linter-source-repository
   ```

1. Escolha **Criar**.

## Etapa 2: adicionar um arquivo app.js
<a name="integrations-github-action-tutorial-add-appjs"></a>

Nesta etapa, você vai adicionar um arquivo `app.js` ao repositório de origem. O `app.js` contém um código de função que contém alguns erros que o linter encontrará.

**Para adicionar o arquivo app.js**

1. No CodeCatalyst console, escolha seu projeto,`codecatalyst-linter-project`.

1. No painel de navegação, selecione **Código** e, depois, selecione **Repositórios de origem**.

1. Na lista de repositórios de origem, escolha o seu repositório, `codecatalyst-linter-source-repository`.

1. Em **Arquivos**, selecione **Criar arquivo**.

1. Na caixa de texto, insira o código a seguir:

   ```
   // const axios = require('axios')
   // const url = 'http://checkip.amazonaws.com/';
   let response;
   /**
    *
    * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
    * @param {Object} event - API Gateway Lambda Proxy Input Format
    *
    * Context doc: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html 
    * @param {Object} context
    *
    * Return doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html
    * @returns {Object} object - API Gateway Lambda Proxy Output Format
    *
    */
   exports.lambdaHandler = async (event, context) => {
     try {
       // const ret = await axios(url);
       response = {
         statusCode: 200,
         'body': JSON.stringify({
           message: 'hello world'
           // location: ret.data.trim()
         })
       }
     } catch (err) {
       console.log(err)
       return err
     }
   
       return response
   }
   ```

1. Em **Nome do arquivo**, insira `app.js`. Mantenha as outras opções padrão.

1. Selecione **Confirmar**.

   Agora você criou um chamado `app.js`.

## Etapa 3: criar um fluxo de trabalho que execute a ação Super-Linter
<a name="integrations-github-action-tutorial-create-workflow"></a>

Nesta etapa, você vai criar um fluxo de trabalho que executa a ação Super-Linter ao enviar código para o repositório de origem. O fluxo de trabalho consiste nos seguintes componentes, que você define em um arquivo YAML:
+ **Um gatilho** – Esse gatilho inicia a execução automática do fluxo de trabalho quando você envia uma alteração ao seu repositório de origem. Para ter mais informações sobre gatilhos, consulte [Início da execução automática de um fluxo de trabalho usando gatilhos](workflows-add-trigger.md).
+ **Uma ação “GitHub Ações”** — No gatilho, a ação **GitHub Ações** executa a ação Super-Linter, que por sua vez inspeciona todos os arquivos em seu repositório de origem. Se o linter encontrar um problema, a ação do fluxo de trabalho falhará. 

**Para criar um fluxo de trabalho que execute a ação Super-Linter**

1. No CodeCatalyst console, escolha seu projeto,`codecatalyst-linter-project`.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**. 

1. Selecione **Criar fluxo de trabalho**.

1. Em **Repositório de origem**, selecione `codecatalyst-linter-source-repository`.

1. Em **Ramificação**, selecione `main`.

1. Escolha **Criar**.

1. Exclua o código de amostra YAML.

1. Adicione o seguinte YAML:

   ```
   Name: codecatalyst-linter-workflow
   SchemaVersion: "1.0"
   Triggers:
     - Type: PUSH
       Branches:
         - main
   Actions:
     SuperLinterAction:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           github-action-code
   ```

   No código anterior, *github-action-code* substitua pelo código de ação Super-Linter, conforme instruído nas etapas a seguir deste procedimento.

1. Acesse a [página Super-Linter](https://github.com/marketplace/actions/super-linter) no Marketplace GitHub .

1. Em `steps:` (minúsculas), localize o código e cole-o no CodeCatalyst fluxo de trabalho em `Steps:` (maiúsculas).

   Ajuste o código de GitHub ação para se adequar aos CodeCatalyst padrões, conforme mostrado no código a seguir.

   Seu CodeCatalyst fluxo de trabalho agora tem a seguinte aparência:

   ```
   Name: codecatalyst-linter-workflow
   SchemaVersion: "1.0"
   Triggers:
     - Type: PUSH
       Branches:
         - main
   Actions:
     SuperLinterAction:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           - name: Lint Code Base
             uses: github/super-linter@v4
             env:
               VALIDATE_ALL_CODEBASE: "true"
               DEFAULT_BRANCH: main
   ```

1. (Opcional) Selecione **Validar** para garantir que o código YAML seja válido antes de confirmar.

1. Selecione **Confirmar**, insira uma **Mensagem de confirmação**, escolha seu **repositório** do `codecatalyst-linter-source-repository` e selecione **Confirmar** novamente.

   Agora você criou um fluxo de trabalho. A execução de um fluxo de trabalho é iniciada automaticamente devido ao gatilho definido na parte superior do fluxo de trabalho.

**Para visualizar a execução do fluxo de trabalho em andamento**

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Escolha o fluxo de trabalho que você acabou de criar: `codecatalyst-linter-workflow`.

1. No diagrama do fluxo de trabalho, escolha **SuperLinterAction**.

1. Aguarde a falha da ação. Essa falha é esperada porque o linter encontrou problemas no código.

1. Deixe o CodeCatalyst console aberto e vá para[Etapa 4: corrigir problemas encontrados pelo Super-Linter](#integrations-github-action-tutorial-fix-probs).

## Etapa 4: corrigir problemas encontrados pelo Super-Linter
<a name="integrations-github-action-tutorial-fix-probs"></a>

O Super-Linter deve ter encontrado problemas no código `app.js`, bem como no arquivo `README.md` incluído no seu repositório de origem.

**Para corrigir os problemas encontrados pelo linter**

1. No CodeCatalyst console, escolha a guia **Logs** e, em seguida, escolha **Lint Code Base**.

   Os logs gerados pela ação Super-Linter são exibidos.

1. Nos logs do Super-Linter, role para baixo até a linha 90, onde você encontra o início dos problemas. Eles são semelhantes a: 

   ```
   /github/workspace/hello-world/app.js:3:13: Extra semicolon.
   /github/workspace/hello-world/app.js:9:92: Trailing spaces not allowed.
   /github/workspace/hello-world/app.js:21:7: Unnecessarily quoted property 'body' found.
   /github/workspace/hello-world/app.js:31:1: Expected indentation of 2 spaces but found 4.
   /github/workspace/hello-world/app.js:32:2: Newline required at end of file but not found.
   ```

1. Corrija `app.js` e `README.md` no repositório de origem e confirme as alterações. 
**dica**  
Para corrigir o `README.md`, adicione `markdown` ao bloco de código, assim:  

   ```
   ```markdown
   Setup examples:
   ...
   ```
   ```

   Suas alterações iniciam outro fluxo de trabalho executado automaticamente. Aguarde a conclusão do fluxo de trabalho. Se você corrigiu todos os problemas, o fluxo de trabalho deverá ser bem-sucedido.

## Limpeza
<a name="integrations-github-action-tutorial-cleanup"></a>

Faça uma limpeza CodeCatalyst para remover vestígios deste tutorial do seu ambiente.

**Para limpar CodeCatalyst**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Exclua `codecatalyst-linter-source-repository`.

1. Exclua `codecatalyst-linter-workflow`.

Neste tutorial, você aprendeu como adicionar a GitHub ação Super-Linter a um CodeCatalyst fluxo de trabalho para codificar alguns códigos.

# Adicionando a GitHub ação 'Ações'
<a name="integrations-github-action-add"></a>

Uma ação de ***GitHub ações*** é uma *CodeCatalyst ação* que envolve uma GitHub ação e a torna compatível com CodeCatalyst fluxos de trabalho.

Para obter mais informações, consulte [Integração com GitHub ações](integrations-github-actions.md).

Para adicionar a ação **GitHub Ações** a um fluxo de trabalho, siga estas etapas.

**dica**  
Para obter um tutorial que mostra como usar a ação **GitHub Ações**, consulte[Tutorial: código Lint usando uma GitHub ação](integrations-github-action-tutorial.md).

------
#### [ Visual ]

**Para adicionar a GitHub ação 'Ações' usando o editor visual**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **Visual**.

1. No canto superior esquerdo, selecione **\$1 Ações** para abrir o catálogo de ações.

1. Na lista suspensa, escolha. **GitHub**

1. Pesquise a ação **GitHub Ações** e faça o seguinte:
   + Selecione o sinal de adição (**\$1**) para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

     Ou
   + Escolha **GitHub Ações**. A caixa de diálogo de detalhes da ação é exibida. Nessa caixa de diálogo:
     + (Opcional) Selecione **Visualizar origem** para [visualizar o código-fonte da ação](workflows-view-source.md#workflows-view-source.title).
     + Selecione **Adicionar ao fluxo de trabalho** para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

1. Nas guias **Entradas** e **Configuração**, preencha os campos de acordo com suas necessidades. Para ver uma descrição de cada campo, consulte [GitHub Ação 'Ações' YAML](github-action-ref.md). Essa referência fornece informações detalhadas sobre cada campo (e o valor da propriedade YAML correspondente) conforme elas aparecem nos editores YAML e visual.

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

------
#### [ YAML ]

**Para adicionar a GitHub ação 'Ações' usando o editor YAML**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **YAML**.

1. No canto superior esquerdo, selecione **\$1 Ações** para abrir o catálogo de ações.

1. Na lista suspensa, escolha. **GitHub**

1. Pesquise a ação **GitHub Ações** e faça o seguinte:
   + Selecione o sinal de adição (**\$1**) para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

     Ou
   + Escolha **GitHub Ações**. A caixa de diálogo de detalhes da ação é exibida. Nessa caixa de diálogo:
     + (Opcional) Selecione **Visualizar origem** para [visualizar o código-fonte da ação](workflows-view-source.md#workflows-view-source.title).
     + Selecione **Adicionar ao fluxo de trabalho** para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

1. Modifique as propriedades no código YAML de acordo com as suas necessidades. Uma explicação de cada propriedade disponível é fornecida em [GitHub Ação 'Ações' YAML](github-action-ref.md).

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

------

## Definição da GitHub ação “Ações”
<a name="integrations-github-action-add-definition"></a>

A ação **GitHub Ações** é definida como um conjunto de propriedades YAML dentro do seu arquivo de definição de fluxo de trabalho. Para ter mais informações sobre essas propriedades, consulte [GitHub Ação 'Ações' YAML](github-action-ref.md) em [Definição do YAML do fluxo de trabalho](workflow-reference.md).

# Adicionando uma ação com curadoria GitHub
<a name="integrations-github-action-add-curated"></a>

Uma * GitHub ação com curadoria* é uma GitHub ação que é disponibilizada no CodeCatalyst console e serve como um exemplo de como usar uma GitHub ação dentro de um CodeCatalyst fluxo de trabalho.

 GitHub As ações selecionadas são agrupadas na [ação de **GitHub ações CodeCatalyst**](integrations-github-action-add.md) de autoria, identificada pelo identificador. `aws/github-actions-runner@v1` Por exemplo, aqui está a aparência da GitHub Ação, [TruffleHog OSS](https://github.com/marketplace/actions/trufflehog-oss), com curadoria: 

```
Actions:
  TruffleHogOSS_e8:
    Identifier: aws/github-actions-runner@v1
    Inputs:
      Sources:
        - WorkflowSource # This specifies that the action requires this Workflow as a source
    Configuration:
      Steps:
        - uses: trufflesecurity/trufflehog@v3.16.0
          with:
            path: ' ' # Required; description: Repository path
            base: ' ' # Required; description: Start scanning from here (usually main branch).
            head: ' ' # Optional; description: Scan commits until here (usually dev branch).
            extra_args: ' ' # Optional; description: Extra args to be passed to the trufflehog cli.
```

No código anterior, a ação CodeCatalyst **GitHub Ações** (identificada por`aws/github-actions-runner@v1`) envolve a ação TruffleHog OSS (identificada por`trufflesecurity/trufflehog@v3.16.0`), fazendo com que ela funcione em um CodeCatalyst fluxo de trabalho.

Para configurar essa ação, você substituiria as strings vazias em `with:` por seus próprios valores. Por exemplo:

```
Actions:
  TruffleHogOSS_e8:
    Identifier: aws/github-actions-runner@v1
    Inputs:
      Sources:
        - WorkflowSource # This specifies that the action requires this Workflow as a source
    Configuration:
      Steps:
        - uses: trufflesecurity/trufflehog@v3.16.0
          with:
            path: ./
            base: main # Required; description: Start scanning from here (usually main branch).
            head: HEAD # Optional; description: Scan commits until here (usually dev branch).
            extra_args: '‐‐debug ‐‐only-verified' # Optional; description: Extra args to be passed to the trufflehog cli.
```

Para adicionar uma GitHub ação organizada a um fluxo de trabalho, use o procedimento a seguir. Para obter informações gerais sobre o uso de GitHub ações em um CodeCatalyst fluxo de trabalho, consulte[Integração com GitHub ações](integrations-github-actions.md).

**nota**  
Se você não vê sua GitHub Ação na lista de ações selecionadas, você ainda pode adicioná-la ao seu fluxo de trabalho usando a ação **GitHub Ações**. Para obter mais informações, consulte [Adicionando a GitHub ação 'Ações'](integrations-github-action-add.md).

------
#### [ Visual ]

**Para adicionar uma GitHub ação com curadoria usando o editor visual**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **Visual**.

1. No canto superior esquerdo, selecione **\$1 Ações** para abrir o catálogo de ações.

1. Na lista suspensa, escolha. **GitHub**

1. Procure ou pesquise uma GitHub ação e faça o seguinte:
   + Selecione o sinal de adição (**\$1**) para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

     Ou
   + Escolha o nome da GitHub ação. A caixa de diálogo de detalhes da ação é exibida. Nessa caixa de diálogo:
     + (Opcional) Selecione **Visualizar origem** para [visualizar o código-fonte da ação](workflows-view-source.md#workflows-view-source.title).
     + Selecione **Adicionar ao fluxo de trabalho** para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

1. Nas guias **Entradas**, **Configuração** e **Saídas**, preencha os campos de acordo com suas necessidades. Para ver uma descrição de cada campo, consulte [GitHub Ação 'Ações' YAML](github-action-ref.md). Essa referência fornece informações detalhadas sobre cada campo (e o valor da propriedade YAML correspondente) disponível para a ação **GitHubAções**, conforme aparece nos editores YAML e visual.

   Para obter informações sobre as opções de configuração disponíveis para a GitHub Ação selecionada, consulte sua documentação.

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

------
#### [ YAML ]

**Para adicionar uma GitHub ação com curadoria usando o editor YAML**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Selecione o projeto.

1. No painel de navegação, escolha **CI/CD** e **Fluxos de trabalho**.

1. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

1. Escolha **Editar**.

1. Selecione **YAML**.

1. No canto superior esquerdo, selecione **\$1 Ações** para abrir o catálogo de ações.

1. Na lista suspensa, escolha. **GitHub**

1. Procure ou pesquise uma GitHub ação e faça o seguinte:
   + Selecione o sinal de adição (**\$1**) para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

     Ou
   + Escolha o nome da GitHub ação. A caixa de diálogo de detalhes da ação é exibida. Nessa caixa de diálogo:
     + (Opcional) Selecione **Visualizar origem** para [visualizar o código-fonte da ação](workflows-view-source.md#workflows-view-source.title).
     + Selecione **Adicionar ao fluxo de trabalho** para adicionar a ação ao diagrama do fluxo de trabalho e abrir seu painel de configuração.

1. Modifique as propriedades no código YAML de acordo com as suas necessidades. Uma explicação de cada propriedade disponível para a ação **GitHub Ações** é fornecida no[GitHub Ação 'Ações' YAML](github-action-ref.md).

   Para obter informações sobre as opções de configuração disponíveis para a GitHub Ação selecionada, consulte sua documentação.

1. (Opcional) Selecione **Validar** para validar o código YAML do fluxo de trabalho antes de confirmar.

1. Selecione **Confirmar**, insira uma mensagem de confirmação e escolha **Confirmar** novamente.

------

# Exportação dos parâmetros de saída do GitHub
<a name="integrations-github-action-export"></a>

Você pode usar os [parâmetros de saída do GitHub](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter) nos fluxos de trabalho do CodeCatalyst.

**nota**  
Outra palavra para *parâmetro de saída* é *variável*. Como o GitHub usa o termo *parâmetro de saída* na documentação, também usaremos esse termo.

Use as instruções a seguir para exportar um parâmetro de saída do GitHub de uma ação do GitHub para que ele fique disponível para uso por outras ações do fluxo de trabalho do CodeCatalyst.

**Para exportar um parâmetro de saída do GitHub**

1. Abra um fluxo de trabalho e selecione **Editar**. Para obter mais informações, consulte [Criação de um fluxo de trabalho](workflows-create-workflow.md).

1. Na ação **GitHub Actions** que gera o parâmetro de saída que você deseja exportar, adicione uma seção c`Outputs` om uma propriedade `Variables` subjacente semelhante a esta:

   ```
   Actions:
     MyGitHubAction:
       Identifier: aws/github-actions-runner@v1
       Outputs:
         Variables:
           - 'step-id_output-name'
   ```

   Substitua:
   + *step-id* pelo valor da propriedade `id:` na seção `steps` da ação do GitHub.
   + *output-name* pelo nome do parâmetro de saída do GitHub.

**Exemplo**  
O exemplo a seguir mostra como exportar um parâmetro de saída do GitHub chamado `SELECTEDCOLOR`.

   ```
   Actions:
     MyGitHubAction:
       Identifier: aws/github-actions-runner@v1
       Outputs:
         Variables:
           - 'random-color-generator_SELECTEDCOLOR'
       Configuration:
         Steps:
           - name: Set selected color
             run: echo "SELECTEDCOLOR=green" >> $GITHUB_OUTPUT
             id: random-color-generator
   ```

# Referenciando parâmetros GitHub de saída
<a name="integrations-github-action-referencing"></a>

Use as instruções a seguir para referenciar um parâmetro GitHub de saída.

**Para referenciar um parâmetro GitHub de saída**

1. Siga as etapas em [Exportação dos parâmetros de saída do GitHub](integrations-github-action-export.md).

   O parâmetro GitHub de saída agora está disponível para uso em outras ações.

1. Observe o valor `Variables` do parâmetro de saída. Inclui um sublinhado (\$1).

1. Consulte o parâmetro de saída usando a seguinte sintaxe:

   ```
   ${action-name.output-name}
   ```

   Substitua:
   + *action-name*com o nome da CodeCatalyst **GitHub ação** que produz o parâmetro de saída (não use o `name` ou da GitHub ação`id`).
   + *output-name*com o `Variables` valor do parâmetro de saída que você anotou anteriormente.

   **Exemplo**

   ```
   BuildActionB:
     Identifier: aws/build@v1
     Configuration:
       Steps:
         - Run: echo ${MyGitHubAction.random-color-generator_SELECTEDCOLOR}
   ```

**Exemplo com contexto**  
O exemplo a seguir mostra como definir uma variável `SELECTEDCOLOR` em `GitHubActionA`, exibi-la e, depois, referenciá-la em `BuildActionB`.

   ```
   Actions:
     GitHubActionA:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           - name: Set selected color
             run: echo "SELECTEDCOLOR=green" >> $GITHUB_OUTPUT
             id: random-color-generator
       Outputs:
         Variables:
         - 'random-color-generator_SELECTEDCOLOR'
         
      BuildActionB:
       Identifier: aws/build@v1
       Configuration:
         Steps:
           - Run: echo ${GitHubActionA.random-color-generator_SELECTEDCOLOR}
   ```

# GitHub Ação 'Ações' YAML
<a name="github-action-ref"></a>

A seguir está a definição YAML da ação **GitHubAções**.

Essa definição de ação existe como uma seção dentro de um arquivo de definição de fluxo de trabalho mais amplo. Para obter mais informações sobre esse arquivo, consulte [Definição do YAML do fluxo de trabalho](workflow-reference.md).

Escolha uma propriedade YAML no código a seguir para ver uma descrição dela.

**nota**  
A maioria das propriedades YAML a seguir tem elementos de interface de usuário correspondentes no editor visual. Para pesquisar um elemento de interface, use **Ctrl\$1F**. O elemento será listado com a propriedade YAML associada.

```
# The workflow definition starts here.
# See Propriedades de nível superior for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.
  action-name:
    Identifier:  aws/github-actions-runner@v1
    DependsOn:
      - dependent-action-name-1
    Compute:
      Fleet: fleet-name
    Timeout: timeout-minutes
    Environment:
      Name: environment-name
      Connections:
        - Name: account-connection-name
          Role: iam-role-name
    Inputs:
      Sources:
        - source-name-1
        - source-name-2
      Artifacts:
        - artifact-name
      Variables:
        - Name: variable-name-1
          Value: variable-value-1
        - Name: variable-name-2
          Value: variable-value-2   
    Outputs:
      Artifacts:
        - Name: output-artifact-1
          Files: 
            - github-output/artifact-1.jar
            - "github-output/build*"
        - Name: output-artifact-2
          Files:
            - github-output/artifact-2.1.jar
            - github-output/artifact-2.2.jar
      Variables:
        - variable-name-1
        - variable-name-2
      AutoDiscoverReports:
        Enabled: true | false
        ReportNamePrefix: AutoDiscovered
        IncludePaths:
          - "**/*"
        ExcludePaths:
          - node_modules/cdk/junit.xml
        SuccessCriteria:
          PassRate: percent
          LineCoverage: percent
          BranchCoverage: percent
          Vulnerabilities:
            Severity: CRITICAL|HIGH|MEDIUM|LOW|INFORMATIONAL
            Number: whole-number
      Reports:
        report-name-1:
          Format: format
          IncludePaths:
            - "*.xml"
          ExcludePaths:
            - report2.xml
            - report3.xml
          SuccessCriteria:
            PassRate: percent
            LineCoverage: percent
            BranchCoverage: percent
            Vulnerabilities:
              Severity: CRITICAL|HIGH|MEDIUM|LOW|INFORMATIONAL
              Number: whole-number
    Configuration      
      Steps:
        - github-actions-code
```

## action-name
<a name="github.name"></a>

(Obrigatório)

Especifique o nome da ação. Todos os nomes de ação devem ser exclusivos no fluxo de trabalho. Os nomes de ação são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hifens (-) e sublinhados (\$1). Não são permitidos espaços. Não é possível usar aspas para habilitar caracteres especiais e espaços nos nomes de ação.

UI correspondente: guia Configuração/ *action-name*

## Identifier
<a name="github.identifier"></a>

(*action-name*/**Identifier**)

Identifica a ação. Não altere essa propriedade, a menos que você queira alterar a versão. Para obter mais informações, consulte [Especificação da versão da ação a ser usada](workflows-action-versions.md).

Use `aws/github-actions-runner@v1` para **GitHubações** de ações.

UI correspondente: diagrama de fluxo de trabalho//*action-name***aws/ @v1 label github-actions-runner**

## DependsOn
<a name="github.depends-on"></a>

(*action-name*/**DependsOn**)

(Optional)

Especifique uma ação, um grupo de ação ou um portão que deve ser executado com êxito para que essa ação seja executada.

Para ter mais informações sobre a funcionalidade “Depende de”, consulte [Sequenciar ações](workflows-depends-on.md).

Interface de usuário correspondente: guia Entradas/**Depende de - opcional**

## Compute
<a name="github.computename"></a>

(*action-name*/**Compute**)

(Optional)

O mecanismo de computação usado para executar as ações de fluxo de trabalho. É possível especificar a computação em nível de fluxo de trabalho ou em nível de ação, mas não em ambos. Quando especificada em nível de fluxo de trabalho, a configuração de computação se aplica a todas as ações definidas no fluxo de trabalho. Em nível de fluxo de trabalho, também é possível realizar várias ações na mesma instância. Para obter mais informações, consulte [Compartilhamento de computação entre ações](compute-sharing.md).

Interface de usuário correspondente: *nenhuma*

## Fleet
<a name="github.computefleet"></a>

(*action-name*/Compute/**Fleet**)

(Optional)

Especifique a máquina ou a frota que executará o fluxo de trabalho ou as ações de fluxo de trabalho. Com frotas sob demanda, quando uma ação é iniciada, o fluxo de trabalho provisiona os recursos necessários e as máquinas são destruídas quando a ação termina. Exemplos de frota sob demanda: `Linux.x86-64.Large`, `Linux.x86-64.XLarge`. Para ter mais informações sobre frotas sob demanda, consulte [Propriedades da frota sob demanda](workflows-working-compute.md#compute.on-demand).

Com frotas provisionadas, você configura um conjunto de máquinas dedicadas para realizar as ações do fluxo de trabalho. Essas máquinas permanecem ociosas, prontas para processar ações imediatamente. Para ter mais informações sobre frotas provisionadas, consulte [Propriedades da frota provisionada](workflows-working-compute.md#compute.provisioned-fleets).

Se `Fleet` for omitido, o padrão será `Linux.x86-64.Large`.

Interface de usuário correspondente: guia Configuração/**Frota de computação - opcional**

## Timeout
<a name="github.timeout"></a>

(*action-name*/**Timeout**)

(Optional)

Especifique a quantidade de tempo em minutos (editor YAML) ou horas e minutos (editor visual) que a ação pode ser executada antes de CodeCatalyst finalizar a ação. O mínimo é de cinco minutos e o máximo está descrito em [Cotas para fluxos de trabalho em CodeCatalyst](workflows-quotas.md). O tempo limite padrão é igual ao tempo limite máximo.

Interface de usuário correspondente: guia Configuração/**Tempo limite - opcional**

## Environment
<a name="github.environment"></a>

(*action-name*/**Environment**)

(Optional)

Especifique o CodeCatalyst ambiente a ser usado com a ação. A ação se conecta à Conta da AWS Amazon VPC opcional especificada no ambiente escolhido. A ação usa a função padrão do IAM especificada no ambiente para se conectar ao e usa a Conta da AWS função do IAM especificada na [conexão da Amazon VPC](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html) para se conectar à Amazon VPC.

**nota**  
Se o perfil do IAM padrão não tiver as permissões exigidas pela ação, você poderá configurar a ação para usar um perfil diferente. Para obter mais informações, consulte [Alteração do perfil do IAM de uma ação](deploy-environments-switch-role.md).

Para ter mais informações sobre ambientes, consulte [Implantação em e Contas da AWS VPCs](deploy-environments.md) e [Criar um ambiente](deploy-environments-creating-environment.md).

Interface de usuário correspondente: guia Configuração/**Ambiente**

## Name
<a name="github.environment.name"></a>

(*action-name*/Environment/**Name**)

(Obrigatório se [Environment](#github.environment) for incluído)

Especifique o nome de um ambiente existente que deseja associar à ação.

Interface de usuário correspondente: guia Configuração/**Ambiente**

## Connections
<a name="github.environment.connections"></a>

(*action-name*/Environment/**Connections**)

(Optional)

Especifique a conexão da conta a ser associada à ação. É possível especificar no máximo uma conexão de conta em `Environment`.

Se você não especificar uma conexão de conta:
+ A ação usa a Conta da AWS conexão e a função padrão do IAM especificadas no ambiente no CodeCatalyst console. Para ter informações sobre como adicionar uma conexão de conta e um perfil do IAM padrão ao ambiente, consulte [Criar um ambiente](deploy-environments-creating-environment.md).
+ O perfil do IAM padrão deve incluir as políticas e as permissões exigidas pela ação. Para determinar quais são essas políticas e permissões, consulte a descrição da propriedade **Perfil** na documentação de definição de YAML da ação.

Para ter mais informações sobre conexões de conta, consulte [Permitindo acesso a AWS recursos com conexão Contas da AWS](ipa-connect-account.md). Para ter informações sobre como adicionar uma conexão de conta a um ambiente, consulte [Criar um ambiente](deploy-environments-creating-environment.md).

UI correspondente: a configuração tab/Environment/What está pronta*my-environment*? **/menu de três pontos/ Mudar função**

## Name
<a name="github.environment.connections.name"></a>

(*action-name*/Environment/Connections/**Name**)

(Obrigatório se [Connections](#github.environment.connections) for incluído)

Especifique o nome da conexão da conta.

UI correspondente: a configuração tab/Environment/What está pronta*my-environment*? **/menu de três pontos/ Mudar função**

## Role
<a name="github.environment.connections.role"></a>

(*action-name*/Environment/Connections/**Role**)

(Obrigatório se [Connections](#github.environment.connections) for incluído)

Especifique o nome do perfil do IAM que essa ação usa para acessar e operar em serviços da AWS , como o Amazon S3 e o Amazon ECR. Esse perfil deve ser adicionado à conexão da Conta da AWS no espaço. Para adicionar um perfil do IAM a uma conexão de conta, consulte [Adicionar perfis do IAM às conexões da conta](ipa-connect-account-addroles.md).

Se você não especificar uma função do IAM, a ação usará a função padrão do IAM listada no [ambiente](deploy-environments.md) no CodeCatalyst console. Se você usar o perfil padrão no ambiente, verifique se ele tem as políticas a seguir.

**nota**  
É possível usar o perfil `CodeCatalystWorkflowDevelopmentRole-spaceName` com essa ação. Para obter mais informações sobre essa função, consulte [Criar o perfil **CodeCatalystWorkflowDevelopmentRole-*spaceName*** para a conta e o espaço](ipa-iam-roles.md#ipa-iam-roles-service-create). Entenda que o perfil `CodeCatalystWorkflowDevelopmentRole-spaceName` tem permissões de acesso completas, o que pode representar um risco de segurança. Recomendamos que você use esse perfil apenas em tutoriais e em cenários em que a segurança seja menos preocupante. 

**Atenção**  
Limite as permissões às exigidas pela **GitHub ação** Ação. Usar um perfil com permissões mais amplas pode representar um risco de segurança.

UI correspondente: a configuração tab/Environment/What está pronta*my-environment*? **/menu de três pontos/ Mudar função**

## Inputs
<a name="github.inputs"></a>

(*action-name*/**Inputs**)

(Optional)

A seção `Inputs` define os dados de que uma ação precisa durante a execução de um fluxo de trabalho.

**nota**  
São permitidas no máximo quatro entradas (uma fonte e três artefatos) por **GitHub ação de Ações**. As variáveis não são contadas nesse total.

Se você precisar consultar arquivos que residem em entradas diferentes (digamos, uma origem e um artefato), a entrada de origem será a entrada primária e o artefato será a entrada secundária. As referências a arquivos em entradas secundárias usam um prefixo especial para diferirem das primárias. Para obter detalhes, consulte [Exemplo: referência de arquivos em vários artefatos](workflows-working-artifacts-ex.md#workflows-working-artifacts-ex-ref-file).

Interface de usuário correspondente: guia **Entradas**

## Sources
<a name="github.inputs.sources"></a>

(*action-name*/Inputs/**Sources**)

(Optional)

Especifique os rótulos que representam os repositórios de origem que serão necessários para a ação. Atualmente, o único rótulo compatível é `WorkflowSource`, que representa o repositório de origem em que o arquivo de definição de fluxo de trabalho está armazenado.

Se você omitir uma origem, deverá especificar pelo menos um artefato de entrada em `action-name/Inputs/Artifacts`.

Para obter mais informações sobre fontes, consulte [Conectar repositórios de origem aos fluxos de trabalho](workflows-sources.md).

Interface de usuário correspondente: guia Entradas/**Origens - opcional**

## Artifacts - input
<a name="github.inputs.artifacts"></a>

(*action-name*/Inputs/**Artifacts**)

(Optional)

Especifique artefatos de ações anteriores que você deseja fornecer como entrada para essa ação. Esses artefatos já devem estar definidos como artefatos de saída em ações anteriores.

Se você não especificar nenhum artefato de entrada, deverá especificar pelo menos um repositório de origem em `action-name/Inputs/Sources`.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte [Compartilhar artefatos e arquivos entre ações](workflows-working-artifacts.md).

**nota**  
Se a lista suspensa **Artefatos – opcional** não estiver disponível (editor visual) ou se você receber erros ao validar o YAML (editor YAML), talvez seja porque a ação permite apenas uma entrada. Nesse caso, tente remover a entrada de origem.

Interface de usuário correspondente: guia Entradas/**Artefatos - opcional**

## Variables - input
<a name="github.inputs.variables"></a>

(*action-name*/Inputs/**Variables**)

(Optional)

Especifique uma sequência de name/value pares que defina as variáveis de entrada que você deseja disponibilizar para a ação. Os nomes de variável são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hifens (-) e sublinhados (\$1). Não são permitidos espaços. Não é possível usar aspas para habilitar caracteres especiais e espaços nos nomes de variável.

Para ter mais informações sobre variáveis, inclusive exemplos, consulte [Uso de variáveis em fluxos de trabalho](workflows-working-with-variables.md).

Interface de usuário correspondente: guia Entradas/**Variáveis - opcional**

## Outputs
<a name="github.outputs"></a>

(*action-name*/**Outputs**)

(Optional)

Define os dados que são gerados pela ação durante a execução de um fluxo de trabalho.

Interface de usuário correspondente: guia **Saídas**

## Artifacts - output
<a name="github.outputs.artifacts"></a>

(*action-name*/Outputs/**Artifacts**)

(Optional)

Especifique o nome de um artefato gerado pela ação. Os nomes de artefato devem ser exclusivos em um fluxo de trabalho e estão limitados a caracteres alfanuméricos (a-z, A-Z, 0-9) e sublinhados (\$1). Espaços, hifens (-) e outros caracteres especiais não são permitidos. Não é possível usar aspas para habilitar espaços, hifens e outros caracteres especiais em nomes de artefato de saída.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte [Compartilhar artefatos e arquivos entre ações](workflows-working-artifacts.md).

Interface de usuário correspondente: guia Saídas/**Artefatos**

## Name
<a name="github.outputs.artifacts.name"></a>

(*action-name*/Outputs/Artifacts/**Name**)

(Obrigatório se [Artifacts - output](#github.outputs.artifacts) for incluído)

Especifique o nome de um artefato gerado pela ação. Os nomes de artefato devem ser exclusivos em um fluxo de trabalho e estão limitados a caracteres alfanuméricos (a-z, A-Z, 0-9) e sublinhados (\$1). Espaços, hifens (-) e outros caracteres especiais não são permitidos. Não é possível usar aspas para habilitar espaços, hifens e outros caracteres especiais em nomes de artefato de saída.

Para ter mais informações sobre artefatos, inclusive exemplos, consulte [Compartilhar artefatos e arquivos entre ações](workflows-working-artifacts.md).

**UI correspondente: artefato de tab/Artifacts/Add saída/Nome do artefato de construção**

## Files
<a name="github.outputs.artifacts.files"></a>

(*action-name*/Outputs/Artifacts/**Files**)

(Obrigatório se [Artifacts - output](#github.outputs.artifacts) for incluído)

Especifique os arquivos CodeCatalyst incluídos no artefato que é gerado pela ação. Esses arquivos são gerados pela ação do fluxo de trabalho quando ela é executada e também estão disponíveis no repositório de origem. Os caminhos de arquivo podem residir em um repositório de origem ou em um artefato de uma ação anterior e são relativos ao repositório de origem ou à raiz do artefato. É possível usar padrões glob para especificar caminhos. Exemplos:
+ Para especificar um único arquivo que esteja na raiz do local de compilação ou do local do repositório de origem, use `my-file.jar`.
+ Para especificar um único arquivo em um subdiretório, use `directory/my-file.jar` ou `directory/subdirectory/my-file.jar`.
+ Para especificar todos os arquivos, use `"**/*"`. O padrão glob `**` indica que corresponde a qualquer número de subdiretórios.
+ Para especificar todos os arquivos e diretórios em um diretório chamado `directory`, use `"directory/**/*"`. O padrão glob `**` indica que corresponde a qualquer número de subdiretórios.
+ Para especificar todos os arquivos em um diretório chamado `directory`, mas não em nenhum de seus subdiretórios, use `"directory/*"`. 

**nota**  
Se o caminho do arquivo incluir um ou mais asteriscos (`*`) ou outro caractere especial, coloque o caminho entre aspas duplas (`""`). Para ter mais informações sobre caracteres especiais, consulte [Diretrizes e convenções de sintaxe](workflow-reference.md#workflow.terms.syntax.conv).

Para ter mais informações sobre artefatos, inclusive exemplos, consulte [Compartilhar artefatos e arquivos entre ações](workflows-working-artifacts.md).

**nota**  
Talvez seja necessário adicionar um prefixo ao caminho do arquivo para indicar em qual artefato ou origem encontrá-lo. Para obter mais informações, consulte [Fazer referência a arquivos do repositório de origem](workflows-sources-reference-files.md) e [Referência de arquivos em um artefato](workflows-working-artifacts-refer-files.md).

**UI correspondente: produz tab/Artifacts/Add artefatos/arquivos produzidos pela compilação**

## Variables - output
<a name="github.outputs.variables"></a>

(*action-name*/Outputs/**Variables**)

(Optional)

Especifique as variáveis que você deseja que a ação exporte para que estejam disponíveis para uso em ações subsequentes.

Para ter mais informações sobre variáveis, inclusive exemplos, consulte [Uso de variáveis em fluxos de trabalho](workflows-working-with-variables.md).

Interface de usuário correspondente: guia Saídas/Variáveis/**Adicionar variável**

## variable-name-1
<a name="github.outputs.variables.name"></a>

(nome da *action-name* /Outputs/Variables **variável-1**)

(Optional)

Especifique o nome de uma variável a ser exportada pela ação. Essa variável já deve estar definida na seção `Inputs` ou `Steps` da mesma ação.

Para ter mais informações sobre variáveis, inclusive exemplos, consulte [Uso de variáveis em fluxos de trabalho](workflows-working-with-variables.md).

**UI correspondente: tab/Variables/Add Variável de saída/nome**

## AutoDiscoverReports
<a name="github.outputs.autodiscover"></a>

(*action-name*/Outputs/**AutoDiscoverReports**)

(Optional)

Define a configuração do recurso de descoberta automática.

Quando você ativa a descoberta automática, CodeCatalyst pesquisa todos os dados `Inputs` passados para a ação, bem como todos os arquivos gerados pela própria ação, procurando relatórios de teste, cobertura de código e análise de composição de software (SCA). Para cada relatório encontrado, ele é CodeCatalyst transformado em um CodeCatalyst relatório. Um *CodeCatalyst relatório* é um relatório totalmente integrado ao CodeCatalyst serviço e que pode ser visualizado e manipulado por meio do CodeCatalyst console.

**nota**  
Por padrão, o recurso de descoberta automática inspeciona todos os arquivos. É possível limitar quais arquivos são inspecionados usando as propriedades [IncludePaths](#github.reports.includepaths) ou [ExcludePaths](#github.reports.excludepaths). 

Interface de usuário correspondente: *nenhuma*

## Enabled
<a name="github.outputs.autodiscover.enabled"></a>

(*action-name*/Outputs/AutoDiscoverReports/**Enabled**)

(Optional)

Habilite ou desabilite o recurso de descoberta automática.

Os valores válidos são `true` ou `false`.

Se `Enabled` for omitido, o padrão será `true`.

Interface de usuário correspondente: guia Saídas/Relatórios/**Relatórios de descoberta automática**

## ReportNamePrefix
<a name="github.outputs.autodiscover.reportnameprefix"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ReportNamePrefix**)

(Obrigatório se [AutoDiscoverReports](#github.outputs.autodiscover) estiver incluído e habilitado)

Especifique um prefixo que seja CodeCatalyst anexado a todos os relatórios encontrados para nomear seus relatórios associados. CodeCatalyst Por exemplo, se você especificar um prefixo de`AutoDiscovered`, e CodeCatalyst descobrir automaticamente dois relatórios de teste, `TestSuiteOne.xml` e`TestSuiteTwo.xml`, os CodeCatalyst relatórios associados serão nomeados e. `AutoDiscoveredTestSuiteOne` `AutoDiscoveredTestSuiteTwo`

**UI correspondente: saídas tab/Reports/Automatically descobrem relatórios/prefixo do relatório**

## IncludePaths
<a name="github.reports.includepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**IncludePaths**)

Ou

(*action-name*/Outputs/Reports/*report-name-1*/**IncludePaths**)

(Obrigatório se [AutoDiscoverReports](#github.outputs.autodiscover) estiver incluído e habilitado ou se [Reports](#github.configuration.reports) estiver incluído)

Especifique os arquivos e os caminhos de arquivo CodeCatalyst incluídos na pesquisa de relatórios brutos. Por exemplo, se você especificar`"/test/report/*"`, CodeCatalyst pesquisa toda a [imagem de compilação](build-images.md) usada pela ação procurando o `/test/report/*` diretório. Quando encontra esse diretório CodeCatalyst , procura relatórios nesse diretório.

**nota**  
Se o caminho do arquivo incluir um ou mais asteriscos (`*`) ou outros caracteres especiais, coloque o caminho entre aspas duplas (`""`). Para ter mais informações sobre caracteres especiais, consulte [Diretrizes e convenções de sintaxe](workflow-reference.md#workflow.terms.syntax.conv).

Se essa propriedade for omitida, o padrão será `"**/*"`, o que significa que a pesquisa inclui todos os arquivos em todos os caminhos.

**nota**  
Em relatórios configurados manualmente, `IncludePaths` deverá ser um padrão global que corresponda a um único arquivo.

Interface de usuário correspondente:
+ **Caminhos de saída'/ tab/Reports/Automatically discover reports/'Include/exclude Caminhos de inclusão'**
+ **As saídas tab/Reports/Manually configuram relatórios/ /'incluir/excluir caminhos'*report-name-1*/Incluir caminhos**

## ExcludePaths
<a name="github.reports.excludepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ExcludePaths**)

Ou

(*action-name*/Outputs/Reports/*report-name-1*/**ExcludePaths**)

(Optional)

Especifique os arquivos e os caminhos de arquivo que são CodeCatalyst excluídos ao pesquisar relatórios brutos. Por exemplo, se você especificar`"/test/my-reports/**/*"`, não CodeCatalyst procurará arquivos no `/test/my-reports/` diretório. Para ignorar todos os arquivos em um diretório, use o padrão de glob `**/*`.

**nota**  
Se o caminho do arquivo incluir um ou mais asteriscos (`*`) ou outros caracteres especiais, coloque o caminho entre aspas duplas (`""`). Para ter mais informações sobre caracteres especiais, consulte [Diretrizes e convenções de sintaxe](workflow-reference.md#workflow.terms.syntax.conv).

Interface de usuário correspondente:
+ **Caminhos de tab/Reports/Automatically discover reports/'Include/exclude saída'/ Excluir caminhos**
+ **As saídas tab/Reports/Manually configuram relatórios/ /'Include/Excluir caminhos'*report-name-1*/Excluir caminhos**

## SuccessCriteria
<a name="github.reports.successcriteria"></a>

(*action-name*/Outputs/AutoDiscoverReports/**SuccessCriteria**)

Ou

(*action-name*/Outputs/Reports/*report-name-1*/**SuccessCriteria**)

(Optional)

Especifique os critérios de sucesso para os relatórios de teste, cobertura de código, análise de composição de software (SCA) e análise estática (SA).

Para obter mais informações, consulte [Configuração de critérios de sucesso para relatórios](test-config-action.md#test.success-criteria).

Interface de usuário correspondente:
+ **Resultados: tab/Reports/Automatically descubra relatórios/critérios de sucesso**
+ **Saídas tab/Reports/Manually configuram relatórios//Critérios de sucesso *report-name-1***

## PassRate
<a name="github.reports.successcriteria.passrate"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**PassRate**)

Ou

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**PassRate**)

(Optional)

Especifique a porcentagem de testes em um relatório de teste que devem ser aprovados para que o CodeCatalyst relatório associado seja marcado como aprovado. Os valores válidos são números decimais. Por exemplo: `50`, `60.5`. Os critérios de taxa de aprovação são aplicados somente aos relatórios de teste. Para ter mais informações sobre os relatórios de teste, consulte [Relatórios de teste](test-workflow-actions.md#test-reports).

Interface de usuário correspondente:
+ tab/Reports/Automatically discover reports/Success**Critérios de saídas/Taxa de aprovação**
+ **Saídas tab/Reports/Manually configuram relatórios/ /Critérios de *report-name-1* sucesso/ Taxa de aprovação**

## LineCoverage
<a name="github.reports.successcriteria.linecoverage"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**LineCoverage**)

Ou

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**LineCoverage**)

(Optional)

Especifique a porcentagem de linhas em um relatório de cobertura de código que devem ser cobertas para que o CodeCatalyst relatório associado seja marcado como aprovado. Os valores válidos são números decimais. Por exemplo: `50`, `60.5`. Os critérios de cobertura de linha são aplicados somente aos relatórios de cobertura de código. Para ter mais informações sobre relatórios de cobertura de código, consulte [Relatórios de cobertura de código](test-workflow-actions.md#test-code-coverage-reports).

Interface de usuário correspondente:
+ tab/Reports/Automatically discover reports/Success**Critérios de saídas/Cobertura de linha**
+ **As saídas tab/Reports/Manually configuram relatórios/ /Critérios de *report-name-1* sucesso/ Cobertura de linha**

## BranchCoverage
<a name="github.reports.successcriteria.branchcoverage"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**BranchCoverage**)

Ou

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**BranchCoverage**)

(Optional)

Especifique a porcentagem de filiais em um relatório de cobertura de código que devem ser cobertas para que o CodeCatalyst relatório associado seja marcado como aprovado. Os valores válidos são números decimais. Por exemplo: `50`, `60.5`. Os critérios de cobertura de ramificações são aplicados somente aos relatórios de cobertura de código. Para ter mais informações sobre relatórios de cobertura de código, consulte [Relatórios de cobertura de código](test-workflow-actions.md#test-code-coverage-reports).

Interface de usuário correspondente:
+ tab/Reports/Automatically discover reports/Success**Critérios de saídas/Cobertura da filial**
+ **As saídas tab/Reports/Manually configuram relatórios/ /Critérios de *report-name-1* sucesso/ Cobertura de filiais**

## Vulnerabilities
<a name="github.reports.successcriteria.vulnerabilities"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**Vulnerabilities**)

Ou

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**Vulnerabilities**)

(Optional)

Especifique o número máximo e a gravidade das vulnerabilidades permitidas no relatório SCA para que o CodeCatalyst relatório associado seja marcado como aprovado. Para especificar vulnerabilidades, é necessário especificar:
+ A gravidade mínima das vulnerabilidades que você deseja incluir na contagem. Os valores válidos, do mais grave para o menos grave, são: `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` e `INFORMATIONAL`.

  Por exemplo, se você escolher `HIGH`, as vulnerabilidades `HIGH` e `CRITICAL` serão contabilizadas.
+ O número máximo de vulnerabilidades da gravidade especificada que você deseja permitir. Exceder esse número faz com que o CodeCatalyst relatório seja marcado como falhado. Os valores válidos são números inteiros.

Os critérios de vulnerabilidade são aplicados somente aos relatórios de SCA. Para ter mais informações sobre os relatórios de SCA, consulte [Relatórios de análise de composição de software](test-workflow-actions.md#test-sca-reports).

Para especificar a gravidade mínima, use a propriedade `Severity`. Para especificar o número máximo de vulnerabilidades, use a propriedade `Number`.

Para ter mais informações sobre os relatórios de SCA, consulte [Tipos de relatório de qualidade](test-workflow-actions.md#test-reporting).

Interface de usuário correspondente:
+ tab/Reports/Automatically discover reports/Success**Critérios de saídas/vulnerabilidades**
+ **As saídas tab/Reports/Manually configuram relatórios/ /Critérios de sucesso/ *report-name-1* Vulnerabilidades**

## Reports
<a name="github.configuration.reports"></a>

(*action-name*/Outputs/**Reports** )

(Optional)

Uma seção que especifica a configuração dos relatórios de teste.

Interface de usuário correspondente: guia Saídas/**Relatórios**

## report-name-1
<a name="github.configuration.reports.report-name-1"></a>

(nome do *action-name* /Outputs/Reports/ **relatório-1)**

(Obrigatório se [Reports](#github.configuration.reports) for incluído)

O nome que você deseja dar ao CodeCatalyst relatório que será gerado a partir de seus relatórios brutos.

**UI correspondente: saídas tab/Reports/Manually configuram relatórios/nome do relatório**

## Format
<a name="github.configuration.reports.name.testresults.format"></a>

(*action-name*/Outputs/Reports/*report-name-1*/**Format**)

(Obrigatório se [Reports](#github.configuration.reports) for incluído)

Especifique o formato de arquivo utilizado para os relatórios. Veja a seguir os valores possíveis.
+ Para relatórios de teste:
  + Para Cucumber JSON, especifique **Cucumber** (editor visual) ou `CUCUMBERJSON` (editor YAML).
  + Para JUnit XML, especifique **JUnit**(editor visual) ou `JUNITXML` (editor YAML).
  + Para NUnit XML, especifique **NUnit**(editor visual) ou `NUNITXML` (editor YAML).
  + Para NUnit 3 XML, especifique **NUnit3**(editor visual) ou `NUNIT3XML` (editor YAML).
  + Para Visual Studio TRX, especifique **Visual Studio TRX** (editor visual) ou `VISUALSTUDIOTRX` (editor YAML).
  + Para TestNG XML, especifique **TestNG** (editor visual) ou `TESTNGXML` (editor YAML).
+ Para relatórios de cobertura de código:
  + Para Clover XML, especifique **Clover** (editor visual) ou `CLOVERXML` (editor YAML).
  + Para Cobertura XML, especifique **Cobertura** (editor visual) ou `COBERTURAXML` (editor YAML).
  + Para JaCoCo XML, especifique **JaCoCo**(editor visual) ou `JACOCOXML` (editor YAML).
  + Para SimpleCov JSON gerado por [simplecov, não [simplecov-json](https://github.com/vicentllongo/simplecov-json)](https://github.com/simplecov-ruby/simplecov), especifique Simplecov (editor visual) ou (**editor YAML**). `SIMPLECOV`
+ Para relatórios de análise de composição de software (SCA):
  + Para SARIF, especifique **SARIF** (editor visual) ou `SARIFSCA` (editor YAML).

**UI correspondente: tab/Reports/Manually configure reports/Add relatório de saídas*report-name-1*//**Tipo de relatório e formato do relatório****

## Configuration
<a name="github.configuration"></a>

(*action-name*/**Configuration**)

(Obrigatório) Uma seção na qual você pode definir as propriedades de configuração da ação. 

Interface de usuário correspondente: guia **Configuração**

## Steps
<a name="github.configuration.steps"></a>

(*action-name*/Configuration/**Steps**)

(Obrigatório) 

Especifique seu código de GitHub ação conforme ele aparece na página de detalhes da ação no [GitHub Marketplace](https://github.com/marketplace). Adicione o código seguindo estas diretrizes:

1. Cole o código da `steps:` seção GitHub Ação na `Steps:` seção do CodeCatalyst fluxo de trabalho. O código começa com um traço (-) e tem uma aparência semelhante ao exemplo a seguir.

   GitHub código para colar:

   ```
   - name: Lint Code Base
     uses: github/super-linter@v4
     env:
       VALIDATE_ALL_CODEBASE: false
       DEFAULT_BRANCH: master
       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
   ```

1. Revise o código que você acabou de colar e modifique-o conforme necessário para que esteja em conformidade com os CodeCatalyst padrões. Por exemplo, com o bloco de código anterior, você pode remover o código e adicioná-lo em **negrito**. *red italics*

   CodeCatalyst fluxo de trabalho yaml:

   ```
   Steps:      
      - name: Lint Code Base
        uses: github/super-linter@v4
        env:
          VALIDATE_ALL_CODEBASE: false
          DEFAULT_BRANCH: mastermain
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
   ```

1. Para obter código adicional incluído na GitHub Ação, mas que não existe dentro da `steps:` seção, adicione-o ao CodeCatalyst fluxo de trabalho usando o código CodeCatalyst -equivalent. Você pode revisar o [Definição do YAML do fluxo de trabalho](workflow-reference.md) para ter uma ideia de como você pode portar seu GitHub código para CodeCatalyst o. As etapas detalhadas da migração estão fora do escopo deste guia.

Aqui está um exemplo de como especificar caminhos de arquivo em uma ação de **GitHub ações**:

```
Steps:
  - name: Lint Code Base
    uses: github/super-linter@v4
    ...
  - run: cd /sources/WorkflowSource/MyFolder/  && cat file.txt
  - run: cd /artifacts/MyGitHubAction/MyArtifact/MyFolder/  && cat file2.txt
```

Para ter mais informações sobre como especificar caminhos de arquivo, consulte [Fazer referência a arquivos do repositório de origem](workflows-sources-reference-files.md) e [Referência de arquivos em um artefato](workflows-working-artifacts-refer-files.md).

UI correspondente: guia de **GitHub configuração/ações YAML**