GitHub ações de pipeline

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • Use essas ações em seu GitHub pipeline para interagir com Configuração de DevOps modelo de dados.

    Importante:
    Configuração de DevOps agora está descontinuado e não há mais suporte ou disponível para nova ativação.

    GitHub pipelines com script e declarativo são compatíveis.

    . ServiceNow Validação da configuração do DevOps (ServiceNow-devops-config-validate) e Exportação da configuração do DevOps (ServiceNow-devops-config-export) GitHub As ações são fornecidas para criar uma definição de pipeline específica.

    Validação da configuração do DevOps (serviceNow-devops-config-validate)

    Carregue e valide dados de configuração em um ServiceNow instância.

    Argumentos de entrada
    Argumento Descrição
    instance-url ServiceNow URL da instância.
    devops-integration-username Configuração de DevOps nome de usuário da integração.
    devops-integration-user-password Configuração de DevOps senha do usuário de integração.
    nome-da-aplicação Configuração de DevOps nome da aplicação.
    target Destino do modelo de dados em que os arquivos de configuração são carregados.
    Os destinos de modelo de dados de exemplo são:
    • componente
    • collection
    • implantável
    nome-implantável Nome implantável no Configuração de DevOps modelo de dados.
    nome-da coleção (Opcional) Nome da coleção no modelo de dados. Necessário quando o destino é coleção.
    name-path (Opcional) Caminho do nome do nó no modelo de dados em que os arquivos de configuração são carregados.
    config-file-path Caminho do arquivo ao carregar um único arquivo ou padrão de caminho de arquivo com base no padrão de estilo Ant ao carregar vários arquivos para o modelo de dados. Consulte Tarefas baseadas em diretório Para obter informações sobre padrões de estilo Ant no Apache Documentação manual do ANT.1.10.14.
    formato de dados Formato de dados dos arquivos de configuração.
    Os formatos de dados de exemplo são:
    • CSV
    • INI
    • JSON
    • Propriedades
    • BRUTO
    • XML
    • YAML
    data-format-attribute (Opcional) Atributos de formato de dados estendidos para analisar dados de configuração.
    confirmação automática Entrada booliana (verdadeiro ou falso) para confirmar dados de configuração após o carregamento bem-sucedido.

    Valor padrão: verdadeiro

    validação automática Entrada booliana (verdadeiro ou falso) para validar os dados de configuração após confirmação bem-sucedida.

    Valor padrão: verdadeiro

    publicação automática Entrada booliana (verdadeiro ou falso) para publicar dados de configuração após a validação bem-sucedida.

    Valor padrão: verdadeiro

    conjunto de mudanças (Opcional) Abrir conjunto de mudanças associado à ação de carregamento. Se não for fornecido, um novo conjunto de mudanças será criado.
    snapshot-validation-timeout (Opcional) Tempo máximo em minutos para a validação ser concluída antes de falhar na ação.

    Valor padrão: 60

    terminate-on-policy-validation-fails (Opcional) Entrada booliana (verdadeiro ou falso) para encerrar o. GitHub fluxo de trabalho após falhas de validação de política.

    Valor padrão: falso

    Saídas
    changeset-number

    Número do conjunto de mudanças associado à ação de carregamento.

    snapshot-name

    Nome do snapshot mais recente do implantável.

    validation-status

    Status de validação do snapshot. Exemplo: aprovado , passed_with_exception , falha , execution_error , not_validated

    validation-results

    Resultados da validação no formato JSON para o snapshot.

    Exemplo: Carregando arquivos de configuração para um implantável
    upload_and_validate_job:
        name: Upload and validate
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:     
          - name: ServiceNow Devops Config Validate
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: deployable
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/k8s/helm/*.yml
              data-format: yaml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    Exemplo: Carregando arquivos de configuração para uma coleção
    upload_and_validate_job:
        name: Upload and validate
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:     
          - name: ServiceNow Devops Config Validate
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: collection
              deployable-name: Production
              collection-name: release-1.0
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/k8s/helm/*.yml
              data-format: yaml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    Exemplo: Carregando arquivos de configuração para um componente
    upload_and_validate_job:
        name: Upload and validate
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:     
          - name: ServiceNow Devops Config Validate
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: component
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/k8s/helm/*.yml
              data-format: yaml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    Carregamento de vários arquivos de configuração em uma única confirmação
    upload_and_validate_job:
        name: Upload and validate
        
        needs: <upstream job>
        runs-on: ubuntu-latest
        # Upload an XML file to a component
        steps:     
          - name: ServiceNow Devops Config Validate
            id: upload_and_validate_xml
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: component
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: false
              auto-validate: true
              auto-publish: true
              config-file-path: data/infra/v1/*.xml
              data-format: xml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    
        # Upload a JSON file to the vars folder of a deployable
        steps:     
          - name: ServiceNow Devops Config Validate
            id: upload_and_validate_json
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: component
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/infra/prod/*.json
              data-format: json
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
              changeset : ${{ steps.upload_and_validate_xml.outputs.changeset-number }}

    Exportação de configuração do DevOps (serviceNow-devops-config-export)

    Exporte dados de configuração usando ServiceNow Configuração de DevOps.

    Argumentos de entrada
    Argumento Descrição
    instance-url ServiceNow URL da instância.
    devops-integration-username Configuração de DevOps nome de usuário da integração.
    devops-integration-user-password Configuração de DevOps senha do usuário de integração.
    nome-da-aplicação Configuração de DevOps nome da aplicação.
    nome-implantável Nome implantável no Configuração de DevOps modelo de dados.
    nome do exportador Nome do exportador que exporta dados de configuração do Configuração de DevOps modelo de dados.
    snapshot-name (Opcional) Snapshot do qual exportar dados. Se um snapshot não for especificado, o snapshot mais recente do implantável será usado.
    exporter-data-format (Opcional) Formato para exportar os dados do snapshot.
    Os formatos de dados de exemplo são:
    • CSV
    • INI
    • JSON
    • Propriedades
    • BRUTO
    • XML
    • YAML
    exporter-argumentos (Opcional) Argumentos a serem usados junto com o exportador. O valor deve ser um objeto JSON representado como uma cadeia de caracteres.
    Saída
    exporter-content

    Dados de configuração que o exportador exporta.

    Exemplo: Exportar snapshot específico
    export:
        name: Export config
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:
        - name: ServiceNow DevOps Config Export
          uses: ServiceNow/servicenow-devops-config-export@v1.0.0-beta
          with:
            instance-url: ${{ secrets.SN_INSTANCE_URL }}
            devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
            devops-integration-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
            application-name: PaymentDemo
            deployable-name: Production
            exporter-name: returnDataforNodeName-now
            snapshot-name: Production-v1.dpl
            exporter-arguments: '{ "nodeName": "node1" }'
    Exemplo: Exporte o snapshot implantado mais recente com parâmetros adicionais
    export:
        name: Export config
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:
        - name: ServiceNow DevOps Config Export
          uses: ServiceNow/servicenow-devops-config-export@v1.0.0-beta
          with:
            instance-url: ${{ secrets.SN_INSTANCE_URL }}
            devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
            devops-integration-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
            application-name: PaymentDemo
            deployable-name: Production
            exporter-name: returnDataforNodeName-now
            exporter-arguments: '{ "nodeName": "node1" }'
            exporter-data-format: XML