ServiceNow MCP Server
Una implementación de servidor MCP para interactuar con instancias de ServiceNow.
Documentación
Servidor MCP de ServiceNow
Una implementación de servidor de Protocolo de Modelo de Contexto (MCP) para ServiceNow, que permite a Claude interactuar con instancias de ServiceNow.
Descripción general
Este proyecto implementa un servidor MCP que permite a Claude conectarse a instancias de ServiceNow, recuperar datos y realizar acciones a través de la API de ServiceNow. Actúa como un puente entre Claude y ServiceNow, permitiendo una integración sin inconvenientes.
Características
- Conectarse a instancias de ServiceNow utilizando varios métodos de autenticación (Básica, OAuth, Clave de API)
- Consultar registros y tablas de ServiceNow
- Crear, actualizar y eliminar registros de ServiceNow
- Ejecutar scripts y flujos de trabajo de ServiceNow
- Acceder y consultar el Catálogo de Servicios de ServiceNow
- Analizar y optimizar el Catálogo de Servicios de ServiceNow
- Modo de depuración para solucionar problemas
- Soporte para comunicación tanto por stdio como por Eventos Enviados por el Servidor (SSE)
Instalación
Requisitos previos
- Python 3.11 o superior
- Una instancia de ServiceNow con las credenciales de acceso adecuadas
Configuración
-
Clona este repositorio:
git clone https://github.com/echelon-ai-labs/servicenow-mcp.git cd servicenow-mcp -
Crea un entorno virtual e instala el paquete:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e . -
Crea un archivo
.envcon tus credenciales de 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 estándar (stdio)
Para iniciar el servidor MCP:
python -m servicenow_mcp.cli
O con variables de entorno:
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 de Eventos Enviados por el Servidor (SSE)
El servidor MCP de ServiceNow también puede ejecutarse como un servidor web utilizando Eventos Enviados por el Servidor (SSE) para la comunicación, lo que permite opciones de integración más flexibles.
Iniciar el servidor SSE
Puedes iniciar el servidor SSE utilizando la CLI proporcionada:
servicenow-mcp-sse --instance-url=https://your-instance.service-now.com --username=your-username --password=your-password
Por defecto, el servidor escuchará en 0.0.0.0:8080. Puedes personalizar el host y el puerto:
servicenow-mcp-sse --host=127.0.0.1 --port=8000
Conexión al servidor SSE
El servidor SSE expone dos endpoints principales:
/sse- El endpoint de conexión SSE/messages/- El endpoint para enviar mensajes al servidor
Ejemplo
Consulta el archivo examples/sse_server_example.py para ver un ejemplo completo de configuración y ejecución del 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)
Empaquetado de Herramientas (Opcional)
Para gestionar la cantidad de herramientas expuestas al modelo de lenguaje (especialmente en entornos con límites), el servidor MCP de ServiceNow admite la carga de subconjuntos de herramientas llamados "paquetes". Esto se controla mediante la variable de entorno MCP_TOOL_PACKAGE.
Configuración
- Variable de Entorno: Establece la variable de entorno
MCP_TOOL_PACKAGEal nombre del paquete deseado.export MCP_TOOL_PACKAGE=catalog_builder - Definiciones de Paquetes: Los paquetes disponibles y las herramientas que incluyen se definen en
config/tool_packages.yaml. Puedes personalizar este archivo para crear tus propios paquetes.
Comportamiento
- Si
MCP_TOOL_PACKAGEestá configurado con un nombre de paquete válido definido enconfig/tool_packages.yaml, solo se cargarán las herramientas listadas en ese paquete. - Si
MCP_TOOL_PACKAGEno está configurado o está vacío, se carga el paquetefull(que contiene todas las herramientas) por defecto. - Si
MCP_TOOL_PACKAGEestá configurado con un nombre de paquete no válido, se carga el paquetenone(sin herramientas exceptolist_tool_packages) y se registra una advertencia. - Configurar
MCP_TOOL_PACKAGE=noneexplícitamente carga ninguna herramienta (exceptolist_tool_packages).
Paquetes Disponibles (Por defecto)
El config/tool_packages.yaml por defecto incluye los siguientes paquetes basados en roles:
service_desk: Herramientas para el manejo de incidentes y búsqueda básica de usuarios/conocimiento.catalog_builder: Herramientas para crear y gestionar elementos del catálogo de servicios, categorías, variables y scripts relacionados (Políticas de UI, Criterios de Usuario).change_coordinator: Herramientas para gestionar el ciclo de vida de las solicitudes de cambio, incluidas tareas y aprobaciones.knowledge_author: Herramientas para crear y gestionar bases de conocimiento, categorías y artículos.platform_developer: Herramientas para scripting del lado del servidor (Script Includes), desarrollo de flujos de trabajo e implementación (Changesets).system_administrator: Herramientas para la gestión de usuarios/grupos y visualización de registros del sistema.agile_management: Herramientas para gestionar historias de usuario, épicas, tareas scrum y proyectos.full: Incluye todas las herramientas disponibles (por defecto).none: Incluye ninguna herramienta (exceptolist_tool_packages).
Herramienta de Introspección
list_tool_packages: Lista todos los nombres de paquetes de herramientas disponibles definidos en la configuración y muestra el paquete actualmente cargado. Esta herramienta está disponible en todos los paquetes exceptonone.
Herramientas Disponibles
Nota: La disponibilidad de las siguientes herramientas depende del paquete de herramientas cargado (consulta la sección de Empaquetado de Herramientas anterior). Por defecto (paquete full), todas las herramientas están disponibles.
Herramientas de Gestión de Incidentes
- create_incident - Crear un nuevo incidente en ServiceNow
- update_incident - Actualizar un incidente existente en ServiceNow
- add_comment - Agregar un comentario a un incidente en ServiceNow
- resolve_incident - Resolver un incidente en ServiceNow
- list_incidents - Listar incidentes de ServiceNow
Herramientas del Catálogo de Servicios
- list_catalog_items - Listar elementos del catálogo de servicios de ServiceNow
- get_catalog_item - Obtener un elemento específico del catálogo de servicios de ServiceNow
- list_catalog_categories - Listar categorías del catálogo de servicios de ServiceNow
- create_catalog_category - Crear una nueva categoría del catálogo de servicios en ServiceNow
- update_catalog_category - Actualizar una categoría existente del catálogo de servicios en ServiceNow
- move_catalog_items - Mover elementos del catálogo entre categorías en ServiceNow
- create_catalog_item_variable - Crear una nueva variable (campo de formulario) para un elemento del catálogo
- list_catalog_item_variables - Listar todas las variables de un elemento del catálogo
- update_catalog_item_variable - Actualizar una variable existente de un elemento del catálogo
- list_catalogs - Listar catálogos de servicios de ServiceNow
Herramientas de Optimización del Catálogo
- get_optimization_recommendations - Obtener recomendaciones para optimizar el catálogo de servicios
- update_catalog_item - Actualizar un elemento del catálogo de servicios
Herramientas de Gestión de Cambios
- create_change_request - Crear una nueva solicitud de cambio en ServiceNow
- update_change_request - Actualizar una solicitud de cambio existente
- list_change_requests - Listar solicitudes de cambio con opciones de filtrado
- get_change_request_details - Obtener información detallada sobre una solicitud de cambio específica
- add_change_task - Agregar una tarea a una solicitud de cambio
- submit_change_for_approval - Enviar una solicitud de cambio para aprobación
- approve_change - Aprobar una solicitud de cambio
- reject_change - Rechazar una solicitud de cambio
Herramientas de Gestión Ágil
Gestión de Historias
- create_story - Crear una nueva historia de usuario en ServiceNow
- update_story - Actualizar una historia de usuario existente en ServiceNow
- list_stories - Listar historias de usuario con opciones de filtrado
- create_story_dependency - Crear una dependencia entre dos historias
- delete_story_dependency - Eliminar una dependencia entre historias
Gestión de Épicas
- create_epic - Crear una nueva épica en ServiceNow
- update_epic - Actualizar una épica existente en ServiceNow
- list_epics - Listar épicas de ServiceNow con opciones de filtrado
Gestión de Tareas Scrum
- create_scrum_task - Crear una nueva tarea scrum en ServiceNow
- update_scrum_task - Actualizar una tarea scrum existente en ServiceNow
- list_scrum_tasks - Listar tareas scrum de ServiceNow con opciones de filtrado
Gestión de Proyectos
- create_project - Crear un nuevo proyecto en ServiceNow
- update_project - Actualizar un proyecto existente en ServiceNow
- list_projects - Listar proyectos de ServiceNow con opciones de filtrado
Herramientas de Gestión de Flujos de Trabajo
- list_workflows - Listar flujos de trabajo de ServiceNow
- get_workflow - Obtener un flujo de trabajo específico de ServiceNow
- create_workflow - Crear un nuevo flujo de trabajo en ServiceNow
- update_workflow - Actualizar un flujo de trabajo existente en ServiceNow
- delete_workflow - Eliminar un flujo de trabajo de ServiceNow
Herramientas de Gestión de Script Includes
- list_script_includes - Listar script includes de ServiceNow
- get_script_include - Obtener un script include específico de ServiceNow
- create_script_include - Crear un nuevo script include en ServiceNow
- update_script_include - Actualizar un script include existente en ServiceNow
- delete_script_include - Eliminar un script include de ServiceNow
Herramientas de Gestión de Changesets
- list_changesets - Listar changesets de ServiceNow con opciones de filtrado
- get_changeset_details - Obtener información detallada sobre un changeset específico
- create_changeset - Crear un nuevo changeset en ServiceNow
- update_changeset - Actualizar un changeset existente
- commit_changeset - Confirmar un changeset
- publish_changeset - Publicar un changeset
- add_file_to_changeset - Agregar un archivo a un changeset
Herramientas de Gestión de Bases de Conocimiento
- create_knowledge_base - Crear una nueva base de conocimiento en ServiceNow
- list_knowledge_bases - Listar bases de conocimiento con opciones de filtrado
- create_category - Crear una nueva categoría en una base de conocimiento
- create_article - Crear un nuevo artículo de conocimiento en ServiceNow
- update_article - Actualizar un artículo de conocimiento existente en ServiceNow
- publish_article - Publicar un artículo de conocimiento en ServiceNow
- list_articles - Listar artículos de conocimiento con opciones de filtrado
- get_article - Obtener un artículo de conocimiento específico por ID
Herramientas de Gestión de Usuarios
- create_user - Crear un nuevo usuario en ServiceNow
- update_user - Actualizar un usuario existente en ServiceNow
- get_user - Obtener un usuario específico por ID, nombre de usuario o correo electrónico
- list_users - Listar usuarios con opciones de filtrado
- create_group - Crear un nuevo grupo en ServiceNow
- update_group - Actualizar un grupo existente en ServiceNow
- add_group_members - Agregar miembros a un grupo en ServiceNow
- remove_group_members - Eliminar miembros de un grupo en ServiceNow
- list_groups - Listar grupos con opciones de filtrado
Herramientas de Políticas de UI
- create_ui_policy - Crea una Política de UI de ServiceNow, típicamente para un Elemento del Catálogo.
- create_ui_policy_action - Crea una acción asociada con una Política de UI para controlar los estados de las variables (visibilidad, obligatoriedad, etc.).
Uso de la CLI de MCP
El servidor MCP de ServiceNow se puede instalar con la CLI de MCP, que proporciona una forma conveniente de registrar el servidor con Claude.
# Install the ServiceNow MCP server with environment variables from .env file
mcp install src/servicenow_mcp/server.py -f .env
Este comando registrará el servidor MCP de ServiceNow con Claude y lo configurará para usar las variables de entorno del archivo .env.
Integración con Claude Desktop
Para configurar el servidor MCP de ServiceNow en Claude Desktop:
- Edita el archivo de configuración de Claude Desktop en
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) o la ruta adecuada para tu sistema operativo:
{
"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"
}
}
}
}
- Reinicia Claude Desktop para aplicar los cambios
Ejemplo de Uso con Claude
A continuación se presentan algunos ejemplos de consultas en lenguaje natural que puedes usar con Claude para interactuar con ServiceNow a través del servidor MCP:
Ejemplos de Gestión de Incidentes
- "Crea un nuevo incidente por una interrupción de red en la región este"
- "Actualiza la prioridad del incidente INC0010001 a alta"
- "Agrega un comentario al incidente INC0010001 diciendo que el problema está siendo investigado"
- "Resuelve el incidente INC0010001 con una nota de que el servidor fue reiniciado"
- "Lista todos los incidentes de alta prioridad asignados al equipo de Redes"
- "Lista todos los incidentes P1 activos asignados al equipo de Redes."
Ejemplos de Catálogo de Servicios
- "Muéstrame todos los elementos del catálogo de servicios"
- "Lista todas las categorías del catálogo de servicios"
- "Obtén detalles sobre el elemento de catálogo de solicitud de laptop"
- "Muéstrame todos los elementos del catálogo en la categoría Hardware"
- "Busca 'software' en el catálogo de servicios"
- "Crea una nueva categoría llamada 'Servicios en la Nube' en el catálogo de servicios"
- "Actualiza la categoría 'Hardware' para renombrarla a 'Equipo de TI'"
- "Mueve el elemento de catálogo 'Máquina Virtual' a la categoría 'Servicios en la Nube'"
- "Crea una subcategoría llamada 'Monitores' bajo la categoría 'Equipo de TI'"
- "Reorganiza nuestro catálogo moviendo todos los elementos de software a la categoría 'Software'"
- "Crea un campo de descripción para el elemento de catálogo de solicitud de laptop"
- "Agrega un campo desplegable para seleccionar modelos de laptop al elemento de catálogo"
- "Lista todos los campos del formulario para el elemento de catálogo de solicitud de acceso VPN"
- "Haz que el campo de departamento sea obligatorio en el formulario de solicitud de software"
- "Actualiza el texto de ayuda para el campo de centro de costos"
- "Muéstrame todos los catálogos de servicios en el sistema"
- "Lista todos los elementos del catálogo de hardware."
- "Encuentra el elemento de catálogo para 'Solicitud de Nueva Laptop'."
- "Muéstrame las variables para el elemento 'Solicitud de Nueva Laptop'."
- "Crea una nueva variable llamada 'department_code' para el elemento de catálogo 'Configuración de Nuevo Empleado'. Haz que sea un campo de texto obligatorio."
Ejemplos de Optimización de Catálogo
- "Analiza nuestro catálogo de servicios e identifica oportunidades de mejora"
- "Encuentra elementos del catálogo con descripciones deficientes que necesiten mejoras"
- "Identifica elementos del catálogo con bajo uso que podríamos retirar"
- "Encuentra elementos del catálogo con altas tasas de abandono"
- "Optimiza nuestra categoría Hardware para mejorar la experiencia del usuario"
Ejemplos de Gestión de Cambios
- "Crea una solicitud de cambio para mantenimiento del servidor para aplicar parches de seguridad mañana por la noche"
- "Programa una actualización de base de datos para el próximo martes de 2 AM a 4 AM"
- "Agrega una tarea al cambio de mantenimiento del servidor para verificaciones previas a la implementación"
- "Envía el cambio de mantenimiento del servidor para aprobación"
- "Aprueba el cambio de actualización de base de datos con comentario: el plan de implementación se ve exhaustivo"
- "Muéstrame todos los cambios de emergencia programados para esta semana"
- "Lista todos los cambios asignados al equipo de Redes"
- "Crea una solicitud de cambio normal para actualizar el servidor de base de datos de producción."
- "Actualiza el cambio CHG0012345, establece el estado a 'Implementar'."
Ejemplos de Gestión Ágil
- "Crea una nueva historia de usuario para implementar un nuevo panel de informes"
- "Actualiza la historia 'Implementar un nuevo panel de informes' para marcarla como bloqueada"
- "Lista todas las historias de usuario asignadas al equipo de Análisis de Datos"
- "Crea una dependencia entre la historia 'Implementar un nuevo panel de informes' y la historia 'Desarrollar pipeline de extracción de datos'"
- "Elimina la dependencia entre la historia 'Implementar un nuevo panel de informes' y la historia 'Desarrollar pipeline de extracción de datos'"
- "Crea una nueva épica llamada 'Iniciativas de Análisis de Datos'"
- "Actualiza la épica 'Iniciativas de Análisis de Datos' para marcarla como completada"
- "Lista todas las épicas en el proyecto 'Análisis de Datos'"
- "Crea una nueva tarea scrum para la historia 'Implementar un nuevo panel de informes'"
- "Actualiza la tarea scrum 'Desarrollar pipeline de extracción de datos' para marcarla como completada"
- "Lista todas las tareas scrum en la historia 'Implementar un nuevo panel de informes'"
- "Crea un nuevo proyecto llamado 'Iniciativas de Análisis de Datos'"
- "Actualiza el proyecto 'Iniciativas de Análisis de Datos' para marcarlo como completado"
- "Lista todos los proyectos en la épica 'Análisis de Datos'"
Ejemplos de Gestión de Flujos de Trabajo
- "Muéstrame todos los flujos de trabajo activos en ServiceNow"
- "Obtén detalles sobre el flujo de trabajo de aprobación de incidentes"
- "Lista todas las versiones del flujo de trabajo de solicitud de cambio"
- "Muéstrame todas las actividades en el flujo de trabajo de solicitud de catálogo de servicios"
- "Crea un nuevo flujo de trabajo para manejar solicitudes de licencias de software"
- "Actualiza la descripción del flujo de trabajo de escalamiento de incidentes"
- "Activa el flujo de trabajo de incorporación de nuevos empleados"
- "Desactiva el antiguo flujo de trabajo de restablecimiento de contraseña"
- "Agrega una actividad de aprobación al flujo de trabajo de solicitud de licencias de software"
- "Actualiza la actividad de notificación en el flujo de trabajo de escalamiento de incidentes"
- "Elimina la actividad innecesaria del flujo de trabajo de solicitud de cambio"
- "Reordena las actividades en el flujo de trabajo de solicitud de catálogo de servicios"
Ejemplos de Gestión de Conjuntos de Cambios
- "Lista todos los conjuntos de cambios en ServiceNow"
- "Muéstrame todos los conjuntos de cambios creados por el desarrollador 'john.doe'"
- "Obtén detalles sobre el conjunto de cambios 'sys_update_set_123'"
- "Crea un nuevo conjunto de cambios para la aplicación 'Portal de RRHH'"
- "Actualiza la descripción del conjunto de cambios 'sys_update_set_123'"
- "Confirma el conjunto de cambios 'sys_update_set_123' con mensaje 'Problema de inicio de sesión corregido'"
- "Publica el conjunto de cambios 'sys_update_set_123' en producción"
- "Agrega un archivo al conjunto de cambios 'sys_update_set_123'"
- "Muéstrame todos los cambios en el conjunto de cambios 'sys_update_set_123'"
Ejemplos de Base de Conocimientos
- "Crea una nueva base de conocimientos para el departamento de TI"
- "Lista todas las bases de conocimientos en la organización"
- "Crea una categoría llamada 'Solución de Problemas de Red' en la base de conocimientos de TI"
- "Escribe un artículo sobre configuración de VPN en la categoría Solución de Problemas de Red"
- "Actualiza el artículo de configuración de VPN para incluir instrucciones para dispositivos móviles"
- "Publica el artículo de configuración de VPN para que sea visible para todos los usuarios"
- "Lista todos los artículos en la categoría Solución de Problemas de Red"
- "Muéstrame los detalles del artículo de configuración de VPN"
- "Encuentra artículos de conocimiento que contengan 'restablecimiento de contraseña' en la base de conocimientos de TI"
- "Crea una subcategoría llamada 'Redes Inalámbricas' bajo la categoría Solución de Problemas de Red"
Ejemplos de Gestión de Usuarios
- "Crea un nuevo usuario Dr. Alice Radiology en el departamento de Radiología"
- "Actualiza el registro de usuario de Bob para convertirlo en el gerente de Alice"
- "Asigna el rol ITIL a Bob para que pueda aprobar solicitudes de cambio"
- "Lista todos los usuarios en el departamento de Radiología"
- "Crea un nuevo grupo llamado 'Ingeniería Biomédica' para gestionar dispositivos médicos"
- "Agrega un usuario administrador al grupo Ingeniería Biomédica como miembro"
- "Actualiza el grupo Ingeniería Biomédica para cambiar su gerente"
- "Elimina un usuario del grupo Ingeniería Biomédica"
- "Encuentra todos los usuarios activos en el sistema con 'doctor' en su título"
- "Crea un usuario que actuará como aprobador para el departamento de Radiología"
- "Lista todos los grupos de soporte de TI en el sistema"
Ejemplos de Políticas de UI
- "Crea una política de UI para el elemento 'Solicitud de Software' (sys_id: abc...) llamada 'Mostrar Justificación' que se aplique cuando 'software_cost' sea mayor que 100."
- "Para la política de UI 'Mostrar Justificación' (sys_id: def...), agrega una acción para hacer que la variable 'business_justification' sea visible y obligatoria."
- "Crea otra acción para la política 'Mostrar Justificación' para ocultar la variable 'alternative_software'."
Scripts de Ejemplo
El repositorio incluye scripts de ejemplo que demuestran cómo usar las herramientas:
- examples/catalog_optimization_example.py: Demuestra cómo analizar y mejorar el Catálogo de Servicios de ServiceNow
- examples/change_management_demo.py: Muestra cómo crear y gestionar solicitudes de cambio en ServiceNow
Métodos de Autenticación
Autenticación Básica
SERVICENOW_AUTH_TYPE=basic
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
Autenticación 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
Autenticación con Clave API
SERVICENOW_AUTH_TYPE=api_key
SERVICENOW_API_KEY=your-api-key
Desarrollo
Documentación
Documentación adicional está disponible en el directorio docs:
- Integración de Catálogo - Información detallada sobre la integración del Catálogo de Servicios
- Optimización de Catálogo - Plan detallado para las funciones de optimización del catálogo
- Gestión de Cambios - Información detallada sobre las herramientas de Gestión de Cambios
- Gestión de Flujos de Trabajo - Información detallada sobre las herramientas de Gestión de Flujos de Trabajo
- Gestión de Conjuntos de Cambios - Información detallada sobre las herramientas de Gestión de Conjuntos de Cambios
Solución de Problemas
Errores Comunes con las Herramientas de Gestión de Cambios
-
Error:
argument after ** must be a mapping, not CreateChangeRequestParams- Este error ocurre cuando pasas un objeto
CreateChangeRequestParamsen lugar de un diccionario a la funcióncreate_change_request. - Solución: Asegúrate de pasar un diccionario con los parámetros, no un objeto de modelo Pydantic.
- Nota: Las herramientas de gestión de cambios han sido actualizadas para manejar este error automáticamente. Las funciones ahora intentarán desenvolver los parámetros si están incorrectamente envueltos o pasados como un objeto de modelo Pydantic.
- Este error ocurre cuando pasas un objeto
-
Error:
Missing required parameter 'type'- Este error ocurre cuando no proporcionas todos los parámetros requeridos para crear una solicitud de cambio.
- Solución: Asegúrate de incluir todos los parámetros requeridos. Para
create_change_request, tantoshort_descriptioncomotypeson obligatorios.
-
Error:
Invalid value for parameter 'type'- Este error ocurre cuando proporcionas un valor inválido para el parámetro
type. - Solución: Usa uno de los valores válidos: "normal", "standard" o "emergency".
- Este error ocurre cuando proporcionas un valor inválido para el parámetro
-
Error:
Cannot find get_headers method in either auth_manager or server_config- Este error ocurre cuando los parámetros se pasan en el orden incorrecto o cuando se usan objetos que no tienen los métodos requeridos.
- Solución: Asegúrate de pasar los parámetros
auth_manageryserver_configen el orden correcto. Las funciones han sido actualizadas para manejar el intercambio de parámetros automáticamente.
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature) - Confirma tus cambios (
git commit -m 'Add some amazing feature') - Haz push a la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
