CdmVersionApi

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 12 min. de leitura
  • A CdmVersionApi fornece endpoints que permitem publicar, cancelar a publicação e exportar versões (snapshots) em Configuration Data Management (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 os componentes compartilhados associados. Os exportadores só podem ser executados 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 REST de script (sn_cdm.cdm_editor)

    Além disso, o plug-in Configuration Data Management (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 de URL

    URL com controle de versões: /api/sn_cdm/{api_version}/versions/export

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

    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. Especifique este valor somente 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 a 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. Localizado na tabela Componente compartilhado do CDM [sn_cdm_shared_component].

    Tipo de dados: cadeia de caracteres

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

    Tipo de dados: cadeia de caracteres

    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

    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

    Códigos de status

    Os códigos de status a seguir 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 da REST API.

    Tabela 6. Códigos de status
    Código de 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.
    • Versões não 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

    erro.mensagem 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 de URL

    URL com controle de versões: /api/sn_cdm/{api_version}/versions/publish

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

    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. Especifique este valor somente 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 publicada. Localizado na tabela Componente compartilhado do CDM [sn_cdm_shared_component].

    Tipo de dados: cadeia de caracteres

    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 sejam do sistema.

    sharedComponentName Obrigatório. Nome do componente compartilhado a ser publicado. Localizado na tabela Componente compartilhado do CDM [sn_cdm_shared_component].

    Tipo de dados: cadeia de caracteres

    sharedLibraryName Obrigatório. Nome da biblioteca compartilhada na qual reside o componente especificado. Localizado na tabela Aplicação do CDM [sn_cdm_application]. O campo de tipo no registro associado deve ser definido como "shared_library".

    Tipo de dados: cadeia de caracteres

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

    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

    Códigos de status

    Os códigos de status a seguir 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 da REST API.

    Tabela 12. Códigos de status
    Código de 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_id_da_aplicação 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 do 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 do CDM associado. Localizado na tabela Aplicação do CDM [sn_cdm_application].

    Tipo de dados: cadeia de caracteres

    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_id_implantável.link Sintaxe de chamada para consultar este registro implantável usando a REST API da tabela.

    Tipo de dados: cadeia de caracteres

    cdm_id_implantável.valor Sys_id do registro implantável. Localizado na tabela Implantável do CDM [sn_cdm_deployable].

    Tipo de dados: cadeia de caracteres

    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 conjunto de mudanças usando a REST API da tabela.

    Tipo de dados: cadeia de caracteres

    changeset_id.value Identificador exclusivo do registro do changeset. Localizado na tabela Changeset do CDM [sn_cdm_changeset].

    Tipo de dados: cadeia de caracteres

    description 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

    erro.mensagem 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.
    • false: 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. Localizado na tabela Snapshot do CDM [sn_cdm_snapshot].

    Tipo de dados: cadeia de caracteres

    sys_updated_by Nome do usuário que atualizou o snapshot.

    Tipo de dados: cadeia de caracteres

    sys_updated_on Data e hora da última atualização do snapshot.

    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:
    • execution_error
    • falha
    • em_andamento
    • not_validated
    • aprovado
    • pass_with_exception
    • solicitado

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    Este exemplo de código mostra como publicar o componente compartilhado "Desenvolvimento" com o nome da versão de "Desenvolvimento-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 de URL

    URL com controle de versões: /api/sn_cdm/{api_version}/versions/publish

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

    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. Especifique este valor somente 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. Localizado na tabela Componente compartilhado do CDM [sn_cdm_shared_component].

    Tipo de dados: cadeia de caracteres

    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 sejam do sistema.

    sharedComponentName Obrigatório. Nome do componente compartilhado para cancelar a publicação. Localizado na tabela Componente compartilhado do CDM [sn_cdm_shared_component].

    Tipo de dados: cadeia de caracteres

    sharedLibraryName Obrigatório. Nome da biblioteca compartilhada na qual reside o componente especificado. Localizado na tabela Aplicação do CDM [sn_cdm_application]. O campo de tipo no registro associado deve ser definido como "shared_library".

    Tipo de dados: cadeia de caracteres

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

    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

    Códigos de status

    Os códigos de status a seguir 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 da REST API.

    Tabela 18. Códigos de status
    Código de 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_id_da_aplicação 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 do 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 do CDM associado. Localizado na tabela Aplicação do CDM [sn_cdm_application].

    Tipo de dados: cadeia de caracteres

    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_id_implantável.link Sintaxe de chamada para consultar este registro implantável usando a REST API da tabela.

    Tipo de dados: cadeia de caracteres

    cdm_id_implantável.valor Sys_id do registro implantável. Localizado na tabela Implantável do CDM [sn_cdm_deployable].

    Tipo de dados: cadeia de caracteres

    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 conjunto de mudanças usando a REST API da tabela.

    Tipo de dados: cadeia de caracteres

    changeset_id.value Identificador exclusivo do registro do changeset. Localizado na tabela Changeset do CDM [sn_cdm_changeset].

    Tipo de dados: cadeia de caracteres

    description 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

    erro.mensagem 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.
    • false: 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. Localizado na tabela Snapshot do CDM [sn_cdm_snapshot].

    Tipo de dados: cadeia de caracteres

    sys_updated_by Nome do usuário que atualizou o snapshot.

    Tipo de dados: cadeia de caracteres

    sys_updated_on Data e hora da última atualização do snapshot.

    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:
    • execution_error
    • falha
    • em_andamento
    • not_validated
    • aprovado
    • pass_with_exception
    • 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"
      }
    }