CdmVersionApi

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 12 min. de leitura
  • A CdmVersionApi fornece endpoints que permitem publicar, cancelar a publicação e exportar versões (snapshots) em Gestão de dados de configuração (CDM) para componentes compartilhados em bibliotecas compartilhadas.

    Você publica um snapshot para que ele possa ser exportado, permitindo que o pipeline Integração e entrega contínuas (CICD) acesse e use as bibliotecas e componentes compartilhados associados. Os exportadores só podem executar em snapshots publicados. Quando os snapshots não forem mais necessários, você poderá cancelar a publicação deles para reduzir a confusão sobre se o snapshot é mais viável.

    Você deve ter uma das seguintes funções para acessar esta API:
    • ACL de exibição do CDM REST de script (sn_cdm.cdm.viewer)
    • ACL do Editor do CDM de REST de script (sn_cdm.cdm_editor)

    Além disso, o plug-in Gestão de dados de configuração (CDM) deve ser ativado para que esta API esteja disponível em uma instância.

    Para obter informações adicionais sobre snapshots, consulte Exibir snapshots.

    CdmVersionApi - GET /sn_cdm/versions/export

    Retorna os dados de configuração de um componente compartilhado especificado em uma biblioteca compartilhada especificada para uma versão publicada especificada.

    A função de Editor do CDM é necessária para acessar este endpoint.

    Formato da URL

    URL com controle de versão: /api/sn_cdm/{api_version}/versions/export

    URL padrão: /api/sn_cdm/versions/export

    Nota:
    As versões disponíveis são especificadas no Explorador de REST API. Para REST APIs com script, há informações adicionais sobre a versão no formulário Serviço REST com script.

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    dataFormat Obrigatório. Formato dos dados de configuração.
    Valores válidos:
    • csv
    • ini
    • json
    • propriedades
    • bruto
    • xml
    • yaml

    Tipo de dados: cadeia de caracteres

    descriptografar senha Sinalizador que indica se os valores de senha codificados ou descriptografados devem ser mostrados.
    Valores válidos:
    • verdadeiro: descriptografar senha e mostrar o valor descriptografado.
    • falso: mostra o valor da senha criptografada.

    Padrão: falso

    sharedComponentName Obrigatório. Nome do componente compartilhado cujos dados de configuração serão exportados.

    Tipo de dados: cadeia de caracteres

    Tabela: componente compartilhado do CDM [sn_cdm_shared_component]

    sharedLibraryName Obrigatório. Nome da biblioteca compartilhada que contém o componente cujos dados de configuração você deseja retornar. A aplicação especificada deve ter o campo de tipo definido como "shared_library".

    Tipo de dados: cadeia de caracteres

    Tabela: aplicação de CDM [sn_cdm_application]

    variáveissubstitutas Sinalizador que indica se as variáveis devem ser seguidas. Para obter informações sobre como seguir as variáveis, consulte Validação e correção de dados de configuração.
    Valores válidos:
    • verdadeiro: siga as variáveis.
    • falso: não segue variáveis.

    Padrão: verdadeiro

    Tabela 3. Parâmetros do corpo da solicitação
    Nome Descrição
    Nenhum(a)

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta.

    Tipos compatíveis:

    • application/json
    • application/xml
    • text/xml

    Padrão: application/json

    Tabela 5. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 6. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    400 Solicitação Incorreta. Pode ter ocorrido um dos seguintes problemas:
    • A biblioteca compartilhada não está ativa.
    • O componente compartilhado não está ativo.
    • As versões não foram publicadas.
    • O parâmetro está ausente na chamada.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta

    Nome Descrição
    resultado Dados de configuração no formato especificado.
    erro Se ocorreu um erro durante o processamento, os detalhes sobre o erro.

    Tipo de dados: objeto

    "error": {
      "detail": "String",
      "message": "String"
    }
    erro.detalhe Informações adicionais sobre o erro.

    Tipo de dados: cadeia de caracteres

    mensagem.erro Mensagem de erro gerada ao tentar processar a solicitação.

    Tipo de dados: cadeia de caracteres

    status Status de erro da solicitação.

    Valores possíveis: falha

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    O exemplo de código a seguir mostra como exportar os dados de configuração do componente "jdk8" na biblioteca compartilhada "JavaLib".

    curl "http://instance.servicenow.com/api/sn_cdm/shared_libraries/components/exports?sharedLibraryName=JavaLib&componentName=jdk8 
    --request POST \  
    --header "Accept:application/json" \   
    --user 'username':'password'

    Resposta:

    {  
    "result": {  
        "sharedComponentA": { "cdi": "val" } 
     }  
    } 

    CdmVersionApi – PUT /sn_cdm/versions/publish

    Publica uma versão de um componente compartilhado em uma biblioteca compartilhada especificada.

    A função de Editor do CDM é necessária para acessar este endpoint.

    Nota:
    Snapshots e versões são sinônimos em significado para esta implementação.

    Formato da URL

    URL com controle de versão: /api/sn_cdm/{api_version}/versions/publish

    URL padrão: /api/sn_cdm/versions/publish

    Nota:
    As versões disponíveis são especificadas no Explorador de REST API. Para REST APIs com script, há informações adicionais sobre a versão no formulário Serviço REST com script.

    Parâmetros de solicitação compatíveis

    Tabela 7. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 8. Parâmetros de consulta
    Nome Descrição
    nome Obrigatório. Nome da versão do componente compartilhado a ser publicado.

    Tipo de dados: cadeia de caracteres

    Tabela: componente compartilhado do CDM [sn_cdm_shared_component]

    returnFields Lista separada por vírgulas de campos na tabela Snapshot do CDM [sn_cdm_snapshot] a serem retornados como parte da resposta.

    Tipo de dados: cadeia de caracteres

    Padrão: retorna todos os campos que não são do sistema.

    sharedComponentName Obrigatório. Nome do componente compartilhado a ser publicado.

    Tipo de dados: cadeia de caracteres

    Tabela: componente compartilhado do CDM [sn_cdm_shared_component]

    sharedLibraryName Obrigatório. Nome da biblioteca compartilhada na qual o componente especificado reside. O campo de tipo no registro associado deve ser definido como "shared_library".

    Tipo de dados: cadeia de caracteres

    Tabela: aplicação de CDM [sn_cdm_application]

    Tabela 9. Parâmetros do corpo da solicitação
    Nome Descrição
    Nenhum(a)

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 10. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta.

    Tipos compatíveis:

    • application/json
    • application/xml
    • text/xml

    Padrão: application/json

    Tabela 11. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 12. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    400 Solicitação Incorreta. Ocorreu um erro durante a publicação.
    Possíveis problemas:
    • Nome da versão não encontrado.
    • A versão do componente já foi publicada.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta

    Nome Descrição
    cdm_application_id Detalhes sobre a aplicação de CDM associada ao snapshot.

    Tipo de dados: objeto

    "cdm_application_id": {
      "link": "String",
      "value": "String"
    }
    cdm_id_da_aplicação.link Chamada para usar para acessar o registro da aplicação CDM usando a REST Table API.

    Tipo de dados: cadeia de caracteres

    cdm_id_da_aplicação.valor Sys_id do registro da aplicação CDM associado.

    Tipo de dados: cadeia de caracteres

    Tabela: aplicação de CDM [sn_cdm_application]

    cdm_deployable_id Detalhes sobre o implantável do CDM associado ao snapshot.

    Tipo de dados: objeto

    "cdm_deployable_id": {
      "link": "String",
      "value": "String"
    }
    cdm_deployable_id.link Sintaxe de chamada para consultar este registro implantável usando a REST API de tabela.

    Tipo de dados: cadeia de caracteres

    cdm_deployable_id.value Sys_id do registro implantável.

    Tipo de dados: cadeia de caracteres

    Tabela: CDM implantável [sn_cdm_deployable]

    changeset_id Detalhes sobre o changeset associado ao snapshot.

    Tipo de dados: objeto

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    changeset_id.link Sintaxe de chamada para consultar este registro de changeset usando a API REST de tabela.

    Tipo de dados: cadeia de caracteres

    changeset_id.valor Identificador exclusivo do registro do changeset.

    Tipo de dados: cadeia de caracteres

    Tabela: conjunto de mudanças do CDM [sn_cdm_changeset]

    descrição Breve descrição do snapshot.

    Tipo de dados: cadeia de caracteres

    erro Se ocorreu um erro durante o processamento, os detalhes sobre o erro.

    Tipo de dados: objeto

    "error": {
      "detail": "String",
      "message": "String"
    }
    erro.detalhe Informações adicionais sobre o erro.

    Tipo de dados: cadeia de caracteres

    mensagem.erro Mensagem de erro gerada ao tentar processar a solicitação.

    Tipo de dados: cadeia de caracteres

    last_published Data e hora em que o snapshot foi publicado pela última vez.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    last_validated Data e hora em que o snapshot foi validado pela última vez.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    nome Nome do snapshot.

    Tipo de dados: cadeia de caracteres

    número Número exclusivo que identifica o snapshot. Este valor fornece um identificador legível para o mapeamento.

    Tipo de dados: cadeia de caracteres

    publicado Sinalizador que indica se o snapshot foi publicado.
    Valores possíveis:
    • verdadeiro: o snapshot foi publicado.
    • falso: o snapshot não foi publicado.

    Tipo de dados: booliano

    sys_created_by Nome do usuário que criou o snapshot.

    Tipo de dados: cadeia de caracteres

    sys_created_on Data e hora em que o snapshot foi criado.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    sys_id Sys_id do snapshot.

    Tipo de dados: cadeia de caracteres

    Tabela: snapshot do CDM [sn_cdm_snapshot]

    sys_updated_by Nome do usuário que atualizou o snapshot.

    Tipo de dados: cadeia de caracteres

    sys_updated_on Data e hora em que o snapshot foi atualizado pela última vez.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    validação Estado de validação atual do snapshot.
    Valores possíveis:
    • Execução_erro
    • falha
    • in_progress
    • not_validated
    • aprovado
    • passou_com_exceção
    • solicitado

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    Este exemplo de código mostra como publicar o componente compartilhado "Development" com o nome de versão "Development-v1.shc".

    curl "http://instance.servicenow.com/api/sn_cdm/versions/publish?sharedLibraryName=LibraryJdk&componentName=Development&name=Development-v1.shc" \  
    --request PUT\  
    --header "Accept:application/json" \  
    --user 'username':'password

    Resposta:

    {
      "result": {
        "changeset_id": {
          "value": "1a2bd15c7764a1109ac0cf0bbb5a99fc",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/1a2bd15c7764a1109ac0cf0bbb5a99fc"
        },
        "cdm_deployable_id": null,
        "cdm_shared_component_node_id": {
          "value": "fe2b155c7764a1109ac0cf0bbb5a995d",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_node/fe2b155c7764a1109ac0cf0bbb5a995d"
        },
        "cdm_shared_component_id": {
          "value": "362b155c7764a1109ac0cf0bbb5a9970",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_shared_component/362b155c7764a1109ac0cf0bbb5a9970"
        },
        "description": null,
        "cdm_application_id": {
          "value": "122bd15c7764a1109ac0cf0bbb5a99fa",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_application/122bd15c7764a1109ac0cf0bbb5a99fa"
        },
        "published": true,
        "sys_updated_on": "2023-01-18 14:15:44",
        "last_published": "2023-01-18 09:53:37",
        "sequence_number": "1",
        "number": "SNAP0001110",
        "sys_id": "df2b155c7764a1109ac0cf0bbb5a9949",
        "sys_updated_by": "admin",
        "sys_created_on": "2023-01-18 09:53:36",
        "name": "logonService-V2.1-v1.shc",
        "last_validated": "",
        "validation": "passed",
        "sys_created_by": "admin"
      }
    }

    CdmVersionApi – PUT /sn_cdm/versions/unpublish

    Cancela a publicação de uma versão de um componente compartilhado em uma biblioteca compartilhada especificada.

    A função de Editor do CDM é necessária para acessar este endpoint.

    Nota:
    Snapshots e versões são sinônimos em significado para esta implementação.

    Formato da URL

    URL com controle de versão: /api/sn_cdm/{api_version}/versions/publish

    URL padrão: /api/sn_cdm/versions/publish

    Nota:
    As versões disponíveis são especificadas no Explorador de REST API. Para REST APIs com script, há informações adicionais sobre a versão no formulário Serviço REST com script.

    Parâmetros de solicitação compatíveis

    Tabela 13. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 14. Parâmetros de consulta
    Nome Descrição
    nome Obrigatório. Nome da versão do componente compartilhado para cancelar a publicação.

    Tipo de dados: cadeia de caracteres

    Tabela: componente compartilhado do CDM [sn_cdm_shared_component]

    returnFields Lista separada por vírgulas de campos na tabela Snapshot do CDM [sn_cdm_snapshot] a serem retornados como parte da resposta.

    Tipo de dados: cadeia de caracteres

    Padrão: retorna todos os campos que não são do sistema.

    sharedComponentName Obrigatório. Nome do componente compartilhado para cancelar a publicação.

    Tipo de dados: cadeia de caracteres

    Tabela: componente compartilhado do CDM [sn_cdm_shared_component]

    sharedLibraryName Obrigatório. Nome da biblioteca compartilhada na qual o componente especificado reside. O campo de tipo no registro associado deve ser definido como "shared_library".

    Tipo de dados: cadeia de caracteres

    Tabela: aplicação de CDM [sn_cdm_application]

    Tabela 15. Parâmetros do corpo da solicitação
    Nome Descrição
    Nenhum(a)

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 16. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta.

    Tipos compatíveis:

    • application/json
    • application/xml
    • text/xml

    Padrão: application/json

    Tabela 17. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 18. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    400 Solicitação Incorreta. Ocorreu um erro durante o cancelamento da publicação.
    Possíveis problemas:
    • Nome da versão não encontrado.
    • A versão do componente já foi publicada.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta

    Nome Descrição
    cdm_application_id Detalhes sobre a aplicação de CDM associada ao snapshot.

    Tipo de dados: objeto

    "cdm_application_id": {
      "link": "String",
      "value": "String"
    }
    cdm_id_da_aplicação.link Chamada para usar para acessar o registro da aplicação CDM usando a REST Table API.

    Tipo de dados: cadeia de caracteres

    cdm_id_da_aplicação.valor Sys_id do registro da aplicação CDM associado.

    Tipo de dados: cadeia de caracteres

    Tabela: aplicação de CDM [sn_cdm_application]

    cdm_deployable_id Detalhes sobre o implantável do CDM associado ao snapshot.

    Tipo de dados: objeto

    "cdm_deployable_id": {
      "link": "String",
      "value": "String"
    }
    cdm_deployable_id.link Sintaxe de chamada para consultar este registro implantável usando a REST API de tabela.

    Tipo de dados: cadeia de caracteres

    cdm_deployable_id.value Sys_id do registro implantável.

    Tipo de dados: cadeia de caracteres

    Tabela: CDM implantável [sn_cdm_deployable]

    changeset_id Detalhes sobre o changeset associado ao snapshot.

    Tipo de dados: objeto

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    changeset_id.link Sintaxe de chamada para consultar este registro de changeset usando a API REST de tabela.

    Tipo de dados: cadeia de caracteres

    changeset_id.valor Identificador exclusivo do registro do changeset.

    Tipo de dados: cadeia de caracteres

    Tabela: conjunto de mudanças do CDM [sn_cdm_changeset]

    descrição Breve descrição do snapshot.

    Tipo de dados: cadeia de caracteres

    erro Se ocorreu um erro durante o processamento, os detalhes sobre o erro.

    Tipo de dados: objeto

    "error": {
      "detail": "String",
      "message": "String"
    }
    erro.detalhe Informações adicionais sobre o erro.

    Tipo de dados: cadeia de caracteres

    mensagem.erro Mensagem de erro gerada ao tentar processar a solicitação.

    Tipo de dados: cadeia de caracteres

    last_published Data e hora em que o snapshot foi publicado pela última vez.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    last_validated Data e hora em que o snapshot foi validado pela última vez.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    nome Nome do snapshot.

    Tipo de dados: cadeia de caracteres

    número Número exclusivo que identifica o snapshot. Este valor fornece um identificador legível para o mapeamento.

    Tipo de dados: cadeia de caracteres

    publicado Sinalizador que indica se o snapshot foi publicado.
    Valores possíveis:
    • verdadeiro: o snapshot foi publicado.
    • falso: o snapshot não foi publicado.

    Tipo de dados: booliano

    sys_created_by Nome do usuário que criou o snapshot.

    Tipo de dados: cadeia de caracteres

    sys_created_on Data e hora em que o snapshot foi criado.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    sys_id Sys_id do snapshot.

    Tipo de dados: cadeia de caracteres

    Tabela: snapshot do CDM [sn_cdm_snapshot]

    sys_updated_by Nome do usuário que atualizou o snapshot.

    Tipo de dados: cadeia de caracteres

    sys_updated_on Data e hora em que o snapshot foi atualizado pela última vez.

    Tipo de dados: cadeia de caracteres

    Formato: aaaa-mm-dd hh:mm:ss

    validação Estado de validação atual do snapshot.
    Valores possíveis:
    • Execução_erro
    • falha
    • in_progress
    • not_validated
    • aprovado
    • passou_com_exceção
    • solicitado

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    O exemplo de código a seguir mostra como cancelar a publicação do componente compartilhado "paymentService-V1" da biblioteca compartilhada "OracleG-Library-10".

    curl "https://instance-name.service-now.com/api/sn_cdm/versions/unpublish?sharedLibraryName=OracleG-Library-10&sharedComponentName=paymentService-V1.1&name=paymentService-V1.1-v1.shc" \ 
    --request PUT \ 
    --header "Accept:application/json" \ 
    --user 'username':'password'

    Resposta:

    {
      "result": {
        "changeset_id": {
          "value": "1a2bd15c7764a1109ac0cf0bbb5a99fc",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_changeset/1a2bd15c7764a1109ac0cf0bbb5a99fc"
        },
        "cdm_deployable_id": null,
        "cdm_shared_component_node_id": {
          "value": "fe2b155c7764a1109ac0cf0bbb5a995d",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_node/fe2b155c7764a1109ac0cf0bbb5a995d"
        },
        "cdm_shared_component_id": {
          "value": "362b155c7764a1109ac0cf0bbb5a9970",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_shared_component/362b155c7764a1109ac0cf0bbb5a9970"
        },
        "description": null,
        "cdm_application_id": {
          "value": "122bd15c7764a1109ac0cf0bbb5a99fa",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_application/122bd15c7764a1109ac0cf0bbb5a99fa"
        },
        "published": false,
        "sys_updated_on": "2023-01-18 14:15:44",
        "last_published": "2023-01-18 09:53:37",
        "sequence_number": "1",
        "number": "SNAP0001110",
        "sys_id": "df2b155c7764a1109ac0cf0bbb5a9949",
        "sys_updated_by": "admin",
        "sys_created_on": "2023-01-18 09:53:36",
        "name": "logonService-V2.1-v1.shc",
        "last_validated": "",
        "validation": "passed",
        "sys_created_by": "admin"
      }
    }