ServiceNow MCP Server
Uma implementação de servidor MCP para interagir com instâncias do ServiceNow.
Documentação
ServiceNow MCP Server
Uma implementação de servidor Model Completion Protocol (MCP) para ServiceNow, permitindo que o Claude interaja com instâncias do ServiceNow.
Visão Geral
Este projeto implementa um servidor MCP que permite ao Claude conectar-se a instâncias do ServiceNow, recuperar dados e executar ações por meio da API do ServiceNow. Ele serve como uma ponte entre o Claude e o ServiceNow, permitindo uma integração perfeita.
Recursos
- Conectar-se a instâncias do ServiceNow usando vários métodos de autenticação (Basic, OAuth, API Key)
- Consultar registros e tabelas do ServiceNow
- Criar, atualizar e excluir registros do ServiceNow
- Executar scripts e fluxos de trabalho do ServiceNow
- Acessar e consultar o Catálogo de Serviços do ServiceNow
- Analisar e otimizar o Catálogo de Serviços do ServiceNow
- Modo de depuração para solução de problemas
- Suporte para comunicação via stdio e Server-Sent Events (SSE)
Instalação
Pré-requisitos
- Python 3.11 ou superior
- Uma instância do ServiceNow com credenciais de acesso apropriadas
Configuração
-
Clone este repositório:
git clone https://github.com/echelon-ai-labs/servicenow-mcp.git cd servicenow-mcp -
Crie um ambiente virtual e instale o pacote:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e . -
Crie um arquivo
.envcom suas credenciais do ServiceNow:SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com SERVICENOW_USERNAME=your-username SERVICENOW_PASSWORD=your-password SERVICENOW_AUTH_TYPE=basic # or oauth, api_key
Uso
Modo Padrão (stdio)
Para iniciar o servidor MCP:
python -m servicenow_mcp.cli
Ou com variáveis de ambiente:
SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com SERVICENOW_USERNAME=your-username SERVICENOW_PASSWORD=your-password SERVICENOW_AUTH_TYPE=basic python -m servicenow_mcp.cli
Modo Server-Sent Events (SSE)
O servidor MCP do ServiceNow também pode ser executado como um servidor web usando Server-Sent Events (SSE) para comunicação, o que permite opções de integração mais flexíveis.
Iniciando o Servidor SSE
Você pode iniciar o servidor SSE usando a CLI fornecida:
servicenow-mcp-sse --instance-url=https://your-instance.service-now.com --username=your-username --password=your-password
Por padrão, o servidor escutará em 0.0.0.0:8080. Você pode personalizar o host e a porta:
servicenow-mcp-sse --host=127.0.0.1 --port=8000
Conectando-se ao Servidor SSE
O servidor SSE expõe dois endpoints principais:
/sse- O endpoint de conexão SSE/messages/- O endpoint para envio de mensagens ao servidor
Exemplo
Consulte o arquivo examples/sse_server_example.py para um exemplo completo de configuração e execução do servidor SSE.
from servicenow_mcp.server import ServiceNowMCP
from servicenow_mcp.server_sse import create_starlette_app
from servicenow_mcp.utils.config import ServerConfig, AuthConfig, AuthType, BasicAuthConfig
import uvicorn
# Create server configuration
config = ServerConfig(
instance_url="https://your-instance.service-now.com",
auth=AuthConfig(
type=AuthType.BASIC,
config=BasicAuthConfig(
username="your-username",
password="your-password"
)
),
debug=True,
)
# Create ServiceNow MCP server
servicenow_mcp = ServiceNowMCP(config)
# Create Starlette app with SSE transport
app = create_starlette_app(servicenow_mcp, debug=True)
# Start the web server
uvicorn.run(app, host="0.0.0.0", port=8080)
Empacotamento de Ferramentas (Opcional)
Para gerenciar o número de ferramentas expostas ao modelo de linguagem (especialmente em ambientes com limites), o servidor MCP do ServiceNow suporta o carregamento de subconjuntos de ferramentas chamados "pacotes". Isso é controlado pela variável de ambiente MCP_TOOL_PACKAGE.
Configuração
- Variável de Ambiente: Defina a variável de ambiente
MCP_TOOL_PACKAGEcom o nome do pacote desejado.export MCP_TOOL_PACKAGE=catalog_builder - Definições de Pacotes: Os pacotes disponíveis e as ferramentas que eles incluem são definidos em
config/tool_packages.yaml. Você pode personalizar este arquivo para criar seus próprios pacotes.
Comportamento
- Se
MCP_TOOL_PACKAGEestiver definido com um nome de pacote válido definido emconfig/tool_packages.yaml, apenas as ferramentas listadas nesse pacote serão carregadas. - Se
MCP_TOOL_PACKAGEnão estiver definido ou estiver vazio, o pacotefull(contendo todas as ferramentas) será carregado por padrão. - Se
MCP_TOOL_PACKAGEestiver definido com um nome de pacote inválido, o pacotenoneserá carregado (sem ferramentas, excetolist_tool_packages), e um aviso será registrado. - Definir
MCP_TOOL_PACKAGE=nonecarrega explicitamente nenhuma ferramenta (excetolist_tool_packages).
Pacotes Disponíveis (Padrão)
O config/tool_packages.yaml padrão inclui os seguintes pacotes baseados em funções:
service_desk: Ferramentas para tratamento de incidentes e consulta básica de usuários/conhecimento.catalog_builder: Ferramentas para criar e gerenciar itens de catálogo de serviços, categorias, variáveis e scripts relacionados (UI Policies, User Criteria).change_coordinator: Ferramentas para gerenciar o ciclo de vida de solicitações de mudança, incluindo tarefas e aprovações.knowledge_author: Ferramentas para criar e gerenciar bases de conhecimento, categorias e artigos.platform_developer: Ferramentas para scripts do lado do servidor (Script Includes), desenvolvimento de fluxos de trabalho e implantação (Changesets).system_administrator: Ferramentas para gerenciamento de usuários/grupos e visualização de logs do sistema.agile_management: Ferramentas para gerenciar histórias de usuário, épicos, tarefas scrum e projetos.full: Inclui todas as ferramentas disponíveis (padrão).none: Não inclui nenhuma ferramenta (excetolist_tool_packages).
Ferramenta de Introspecção
list_tool_packages: Lista todos os nomes de pacotes de ferramentas disponíveis definidos na configuração e mostra o pacote atualmente carregado. Esta ferramenta está disponível em todos os pacotes, excetonone.
Ferramentas Disponíveis
Nota: A disponibilidade das ferramentas a seguir depende do pacote de ferramentas carregado (consulte a seção Empacotamento de Ferramentas acima). Por padrão (pacote full), todas as ferramentas estão disponíveis.
Ferramentas de Gerenciamento de Incidentes
- create_incident - Criar um novo incidente no ServiceNow
- update_incident - Atualizar um incidente existente no ServiceNow
- add_comment - Adicionar um comentário a um incidente no ServiceNow
- resolve_incident - Resolver um incidente no ServiceNow
- list_incidents - Listar incidentes do ServiceNow
Ferramentas de Catálogo de Serviços
- list_catalog_items - Listar itens de catálogo de serviços do ServiceNow
- get_catalog_item - Obter um item específico do catálogo de serviços do ServiceNow
- list_catalog_categories - Listar categorias do catálogo de serviços do ServiceNow
- create_catalog_category - Criar uma nova categoria no catálogo de serviços do ServiceNow
- update_catalog_category - Atualizar uma categoria existente no catálogo de serviços do ServiceNow
- move_catalog_items - Mover itens do catálogo entre categorias no ServiceNow
- create_catalog_item_variable - Criar uma nova variável (campo de formulário) para um item do catálogo
- list_catalog_item_variables - Listar todas as variáveis de um item do catálogo
- update_catalog_item_variable - Atualizar uma variável existente de um item do catálogo
- list_catalogs - Listar catálogos de serviços do ServiceNow
Ferramentas de Otimização de Catálogo
- get_optimization_recommendations - Obter recomendações para otimizar o catálogo de serviços
- update_catalog_item - Atualizar um item do catálogo de serviços
Ferramentas de Gerenciamento de Mudanças
- create_change_request - Criar uma nova solicitação de mudança no ServiceNow
- update_change_request - Atualizar uma solicitação de mudança existente
- list_change_requests - Listar solicitações de mudança com opções de filtro
- get_change_request_details - Obter informações detalhadas sobre uma solicitação de mudança específica
- add_change_task - Adicionar uma tarefa a uma solicitação de mudança
- submit_change_for_approval - Enviar uma solicitação de mudança para aprovação
- approve_change - Aprovar uma solicitação de mudança
- reject_change - Rejeitar uma solicitação de mudança
Ferramentas de Gerenciamento Ágil
Gerenciamento de Histórias
- create_story - Criar uma nova história de usuário no ServiceNow
- update_story - Atualizar uma história de usuário existente no ServiceNow
- list_stories - Listar histórias de usuário com opções de filtro
- create_story_dependency - Criar uma dependência entre duas histórias
- delete_story_dependency - Excluir uma dependência entre histórias
Gerenciamento de Épicos
- create_epic - Criar um novo épico no ServiceNow
- update_epic - Atualizar um épico existente no ServiceNow
- list_epics - Listar épicos do ServiceNow com opções de filtro
Gerenciamento de Tarefas Scrum
- create_scrum_task - Criar uma nova tarefa scrum no ServiceNow
- update_scrum_task - Atualizar uma tarefa scrum existente no ServiceNow
- list_scrum_tasks - Listar tarefas scrum do ServiceNow com opções de filtro
Gerenciamento de Projetos
- create_project - Criar um novo projeto no ServiceNow
- update_project - Atualizar um projeto existente no ServiceNow
- list_projects - Listar projetos do ServiceNow com opções de filtro
Ferramentas de Gerenciamento de Fluxos de Trabalho
- list_workflows - Listar fluxos de trabalho do ServiceNow
- get_workflow - Obter um fluxo de trabalho específico do ServiceNow
- create_workflow - Criar um novo fluxo de trabalho no ServiceNow
- update_workflow - Atualizar um fluxo de trabalho existente no ServiceNow
- delete_workflow - Excluir um fluxo de trabalho do ServiceNow
Ferramentas de Gerenciamento de Script Includes
- list_script_includes - Listar script includes do ServiceNow
- get_script_include - Obter um script include específico do ServiceNow
- create_script_include - Criar um novo script include no ServiceNow
- update_script_include - Atualizar um script include existente no ServiceNow
- delete_script_include - Excluir um script include do ServiceNow
Ferramentas de Gerenciamento de Changesets
- list_changesets - Listar changesets do ServiceNow com opções de filtro
- get_changeset_details - Obter informações detalhadas sobre um changeset específico
- create_changeset - Criar um novo changeset no ServiceNow
- update_changeset - Atualizar um changeset existente
- commit_changeset - Confirmar um changeset
- publish_changeset - Publicar um changeset
- add_file_to_changeset - Adicionar um arquivo a um changeset
Ferramentas de Gerenciamento de Base de Conhecimento
- create_knowledge_base - Criar uma nova base de conhecimento no ServiceNow
- list_knowledge_bases - Listar bases de conhecimento com opções de filtro
- create_category - Criar uma nova categoria em uma base de conhecimento
- create_article - Criar um novo artigo de conhecimento no ServiceNow
- update_article - Atualizar um artigo de conhecimento existente no ServiceNow
- publish_article - Publicar um artigo de conhecimento no ServiceNow
- list_articles - Listar artigos de conhecimento com opções de filtro
- get_article - Obter um artigo de conhecimento específico por ID
Ferramentas de Gerenciamento de Usuários
- create_user - Criar um novo usuário no ServiceNow
- update_user - Atualizar um usuário existente no ServiceNow
- get_user - Obter um usuário específico por ID, nome de usuário ou e-mail
- list_users - Listar usuários com opções de filtro
- create_group - Criar um novo grupo no ServiceNow
- update_group - Atualizar um grupo existente no ServiceNow
- add_group_members - Adicionar membros a um grupo no ServiceNow
- remove_group_members - Remover membros de um grupo no ServiceNow
- list_groups - Listar grupos com opções de filtro
Ferramentas de UI Policy
- create_ui_policy - Cria uma UI Policy do ServiceNow, normalmente para um Item de Catálogo.
- create_ui_policy_action - Cria uma ação associada a uma UI Policy para controlar estados de variáveis (visibilidade, obrigatoriedade, etc.).
Usando a CLI do MCP
O servidor MCP do ServiceNow pode ser instalado com a CLI do MCP, que fornece uma maneira conveniente de registrar o servidor com o Claude.
# Install the ServiceNow MCP server with environment variables from .env file
mcp install src/servicenow_mcp/server.py -f .env
Este comando registrará o servidor MCP do ServiceNow com o Claude e o configurará para usar as variáveis de ambiente do arquivo .env.
Integração com o Claude Desktop
Para configurar o servidor MCP do ServiceNow no Claude Desktop:
- Edite o arquivo de configuração do Claude Desktop em
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) ou o caminho apropriado para o seu sistema operacional:
{
"mcpServers": {
"ServiceNow": {
"command": "/Users/yourusername/dev/servicenow-mcp/.venv/bin/python",
"args": [
"-m",
"servicenow_mcp.cli"
],
"env": {
"SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
"SERVICENOW_USERNAME": "your-username",
"SERVICENOW_PASSWORD": "your-password",
"SERVICENOW_AUTH_TYPE": "basic"
}
}
}
}
- Reinicie o Claude Desktop para aplicar as alterações
Exemplo de Uso com o Claude
Abaixo estão alguns exemplos de consultas em linguagem natural que você pode usar com o Claude para interagir com o ServiceNow por meio do servidor MCP:
Exemplos de Gerenciamento de Incidentes
- "Crie um novo incidente para uma interrupção de rede na região leste"
- "Atualize a prioridade do incidente INC0010001 para alta"
- "Adicione um comentário ao incidente INC0010001 dizendo que o problema está sendo investigado"
- "Resolva o incidente INC0010001 com uma nota de que o servidor foi reiniciado"
- "Liste todos os incidentes de alta prioridade atribuídos à equipe de Rede"
- "Liste todos os incidentes P1 ativos atribuídos à equipe de Rede."
Exemplos de Catálogo de Serviços
- "Mostre-me todos os itens no catálogo de serviços"
- "Liste todas as categorias do catálogo de serviços"
- "Obtenha detalhes sobre o item de catálogo de solicitação de laptop"
- "Mostre-me todos os itens de catálogo na categoria Hardware"
- "Pesquise por 'software' no catálogo de serviços"
- "Crie uma nova categoria chamada 'Cloud Services' no catálogo de serviços"
- "Atualize a categoria 'Hardware' para renomeá-la para 'IT Equipment'"
- "Mova o item de catálogo 'Virtual Machine' para a categoria 'Cloud Services'"
- "Crie uma subcategoria chamada 'Monitors' sob a categoria 'IT Equipment'"
- "Reorganize nosso catálogo movendo todos os itens de software para a categoria 'Software'"
- "Crie um campo de descrição para o item de catálogo de solicitação de laptop"
- "Adicione um campo de lista suspensa para selecionar modelos de laptop ao item de catálogo"
- "Liste todos os campos de formulário para o item de catálogo de solicitação de acesso VPN"
- "Torne o campo departamento obrigatório no formulário de solicitação de software"
- "Atualize o texto de ajuda para o campo centro de custo"
- "Mostre-me todos os catálogos de serviços no sistema"
- "Liste todos os itens de catálogo de hardware."
- "Encontre o item de catálogo para 'New Laptop Request'."
- "Mostre-me as variáveis para o item 'New Laptop Request'."
- "Crie uma nova variável chamada 'department_code' para o item de catálogo 'New Hire Setup'. Torne-a um campo de string obrigatório."
Exemplos de Otimização de Catálogo
- "Analise nosso catálogo de serviços e identifique oportunidades de melhoria"
- "Encontre itens de catálogo com descrições ruins que precisam de melhoria"
- "Identifique itens de catálogo com baixo uso que talvez queiramos descontinuar"
- "Encontre itens de catálogo com altas taxas de abandono"
- "Otimize nossa categoria Hardware para melhorar a experiência do usuário"
Exemplos de Gerenciamento de Mudanças
- "Crie uma solicitação de mudança para manutenção de servidor para aplicar patches de segurança amanhã à noite"
- "Agende uma atualização de banco de dados para a próxima terça-feira das 2h às 4h"
- "Adicione uma tarefa à mudança de manutenção de servidor para verificações pré-implementação"
- "Envie a mudança de manutenção de servidor para aprovação"
- "Aprove a mudança de atualização de banco de dados com comentário: o plano de implementação parece completo"
- "Mostre-me todas as mudanças emergenciais agendadas para esta semana"
- "Liste todas as mudanças atribuídas à equipe de Rede"
- "Crie uma solicitação de mudança normal para atualizar o servidor de banco de dados de produção."
- "Atualize a mudança CHG0012345, defina o estado como 'Implementar'."
Exemplos de Gerenciamento Ágil
- "Crie uma nova história de usuário para implementar um novo painel de relatórios"
- "Atualize a história 'Implementar um novo painel de relatórios' para defini-la como bloqueada"
- "Liste todas as histórias de usuário atribuídas à equipe de Análise de Dados"
- "Crie uma dependência entre a história 'Implementar um novo painel de relatórios' e a história 'Desenvolver pipeline de extração de dados'"
- "Exclua a dependência entre a história 'Implementar um novo painel de relatórios' e a história 'Desenvolver pipeline de extração de dados'"
- "Crie um novo épico chamado 'Iniciativas de Análise de Dados'"
- "Atualize o épico 'Iniciativas de Análise de Dados' para defini-lo como concluído"
- "Liste todos os épicos no projeto 'Análise de Dados'"
- "Crie uma nova tarefa scrum para a história 'Implementar um novo painel de relatórios'"
- "Atualize a tarefa scrum 'Desenvolver pipeline de extração de dados' para defini-la como concluída"
- "Liste todas as tarefas scrum na história 'Implementar um novo painel de relatórios'"
- "Crie um novo projeto chamado 'Iniciativas de Análise de Dados'"
- "Atualize o projeto 'Iniciativas de Análise de Dados' para defini-lo como concluído"
- "Liste todos os projetos no épico 'Análise de Dados'"
Exemplos de Gerenciamento de Fluxos de Trabalho
- "Mostre-me todos os fluxos de trabalho ativos no ServiceNow"
- "Obtenha detalhes sobre o fluxo de trabalho de aprovação de incidentes"
- "Liste todas as versões do fluxo de trabalho de solicitação de mudança"
- "Mostre-me todas as atividades no fluxo de trabalho de solicitação de catálogo de serviços"
- "Crie um novo fluxo de trabalho para lidar com solicitações de licenças de software"
- "Atualize a descrição do fluxo de trabalho de escalonamento de incidentes"
- "Ative o novo fluxo de trabalho de integração de novos funcionários"
- "Desative o antigo fluxo de trabalho de redefinição de senha"
- "Adicione uma atividade de aprovação ao fluxo de trabalho de solicitação de licença de software"
- "Atualize a atividade de notificação no fluxo de trabalho de escalonamento de incidentes"
- "Exclua a atividade desnecessária do fluxo de trabalho de solicitação de mudança"
- "Reordene as atividades no fluxo de trabalho de solicitação de catálogo de serviços"
Exemplos de Gerenciamento de Conjuntos de Mudanças
- "Liste todos os conjuntos de mudanças no ServiceNow"
- "Mostre-me todos os conjuntos de mudanças criados pelo desenvolvedor 'john.doe'"
- "Obtenha detalhes sobre o conjunto de mudanças 'sys_update_set_123'"
- "Crie um novo conjunto de mudanças para o aplicativo 'HR Portal'"
- "Atualize a descrição do conjunto de mudanças 'sys_update_set_123'"
- "Confirme o conjunto de mudanças 'sys_update_set_123' com a mensagem 'Problema de login corrigido'"
- "Publique o conjunto de mudanças 'sys_update_set_123' em produção"
- "Adicione um arquivo ao conjunto de mudanças 'sys_update_set_123'"
- "Mostre-me todas as mudanças no conjunto de mudanças 'sys_update_set_123'"
Exemplos de Base de Conhecimento
- "Crie uma nova base de conhecimento para o departamento de TI"
- "Liste todas as bases de conhecimento na organização"
- "Crie uma categoria chamada 'Solução de Problemas de Rede' na base de conhecimento de TI"
- "Escreva um artigo sobre configuração de VPN na categoria Solução de Problemas de Rede"
- "Atualize o artigo de configuração de VPN para incluir instruções para dispositivos móveis"
- "Publique o artigo de configuração de VPN para que fique visível para todos os usuários"
- "Liste todos os artigos na categoria Solução de Problemas de Rede"
- "Mostre-me os detalhes do artigo de configuração de VPN"
- "Encontre artigos de conhecimento contendo 'redefinição de senha' na base de conhecimento de TI"
- "Crie uma subcategoria chamada 'Redes Sem Fio' sob a categoria Solução de Problemas de Rede"
Exemplos de Gerenciamento de Usuários
- "Crie um novo usuário Dra. Alice Radiologia no departamento de Radiologia"
- "Atualize o registro do usuário Bob para torná-lo gerente de Alice"
- "Atribua a função ITIL a Bob para que ele possa aprovar solicitações de mudança"
- "Liste todos os usuários no departamento de Radiologia"
- "Crie um novo grupo chamado 'Engenharia Biomédica' para gerenciar dispositivos médicos"
- "Adicione um usuário administrador ao grupo Engenharia Biomédica como membro"
- "Atualize o grupo Engenharia Biomédica para alterar seu gerente"
- "Remova um usuário do grupo Engenharia Biomédica"
- "Encontre todos os usuários ativos no sistema com 'médico' no título"
- "Crie um usuário que atuará como aprovador para o departamento de Radiologia"
- "Liste todos os grupos de suporte de TI no sistema"
Exemplos de Política de Interface do Usuário
- "Crie uma política de interface do usuário para o item 'Solicitação de Software' (sys_id: abc...) chamada 'Mostrar Justificativa' que se aplica quando 'software_cost' for maior que 100."
- "Para a política de interface do usuário 'Mostrar Justificativa' (sys_id: def...), adicione uma ação para tornar a variável 'business_justification' visível e obrigatória."
- "Crie outra ação para a política 'Mostrar Justificativa' para ocultar a variável 'alternative_software'."
Scripts de Exemplo
O repositório inclui scripts de exemplo que demonstram como usar as ferramentas:
- examples/catalog_optimization_example.py: Demonstra como analisar e melhorar o Catálogo de Serviços do ServiceNow
- examples/change_management_demo.py: Mostra como criar e gerenciar solicitações de mudança no ServiceNow
Métodos de Autenticação
Autenticação Básica
SERVICENOW_AUTH_TYPE=basic
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
Autenticação OAuth
SERVICENOW_AUTH_TYPE=oauth
SERVICENOW_CLIENT_ID=your-client-id
SERVICENOW_CLIENT_SECRET=your-client-secret
SERVICENOW_TOKEN_URL=https://your-instance.service-now.com/oauth_token.do
Autenticação por Chave de API
SERVICENOW_AUTH_TYPE=api_key
SERVICENOW_API_KEY=your-api-key
Desenvolvimento
Documentação
Documentação adicional está disponível no diretório docs:
- Integração de Catálogo - Informações detalhadas sobre a integração do Catálogo de Serviços
- Otimização de Catálogo - Plano detalhado para recursos de otimização de catálogo
- Gerenciamento de Mudanças - Informações detalhadas sobre as ferramentas de Gerenciamento de Mudanças
- Gerenciamento de Fluxos de Trabalho - Informações detalhadas sobre as ferramentas de Gerenciamento de Fluxos de Trabalho
- Gerenciamento de Conjuntos de Mudanças - Informações detalhadas sobre as ferramentas de Gerenciamento de Conjuntos de Mudanças
Solução de Problemas
Erros Comuns com Ferramentas de Gerenciamento de Mudanças
-
Erro:
argument after ** must be a mapping, not CreateChangeRequestParams- Este erro ocorre quando você passa um objeto
CreateChangeRequestParamsem vez de um dicionário para a funçãocreate_change_request. - Solução: Certifique-se de estar passando um dicionário com os parâmetros, não um objeto de modelo Pydantic.
- Observação: As ferramentas de gerenciamento de mudanças foram atualizadas para lidar com este erro automaticamente. As funções agora tentarão desembrulhar os parâmetros se estiverem incorretamente encapsulados ou passados como um objeto de modelo Pydantic.
- Este erro ocorre quando você passa um objeto
-
Erro:
Missing required parameter 'type'- Este erro ocorre quando você não fornece todos os parâmetros necessários para criar uma solicitação de mudança.
- Solução: Certifique-se de incluir todos os parâmetros necessários. Para
create_change_request, tantoshort_descriptionquantotypesão obrigatórios.
-
Erro:
Invalid value for parameter 'type'- Este erro ocorre quando você fornece um valor inválido para o parâmetro
type. - Solução: Use um dos valores válidos: "normal", "standard" ou "emergency".
- Este erro ocorre quando você fornece um valor inválido para o parâmetro
-
Erro:
Cannot find get_headers method in either auth_manager or server_config- Este erro ocorre quando os parâmetros são passados na ordem errada ou quando são usados objetos que não possuem os métodos necessários.
- Solução: Certifique-se de estar passando os parâmetros
auth_managereserver_configna ordem correta. As funções foram atualizadas para lidar com a troca de parâmetros automaticamente.
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add some amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
