Skip to main content

coms-consume-roan

Paquete de Python que consulta tickets del webservice SOAP "COMS" de CA ServiceDesk y los inserta en la base de datos MySQL automcae a través de stored procedures.

Flujo

  1. Control-M dispara la ejecución (3 veces al día). DatabaseConexionesControlM.get_tabla_ejecuciones() obtiene el número de ejecución y el rango de horas a consultar.
  2. Se calcula el rango de timestamps (hora de inicio del día anterior, hora de fin del día actual) y se consulta el webservice consulta_tck_complete de ServiceDesk (hasta 10 reintentos).
  3. Cada ticket recibido se clasifica según su estado (RE = resuelto, OP = abierto) y si es PBX, y se inserta en la tabla correspondiente vía stored procedure.
  4. Se marca la ejecución como exitosa o fallida en la tabla de control.

Instalación

pip install coms-consume-roan

Configuración de credenciales

La conexión a la base de datos no usa variables de entorno para host/usuario/password: usa un archivo cifrado.

  1. Crear un archivo access.txt con el formato:
    host=...
    user=...
    password=...
    database=...
    port=...
    
  2. Colocarlo en el directorio de datos seguros (ver variable de entorno abajo).
  3. Al ejecutar el paquete por primera vez, access.txt se cifra en credentials.enc + secret.key y se borra automáticamente.

Variable de entorno COMS_SECURE_DATA_DIR

Define dónde vive access.txt / credentials.enc / secret.key. Si no se define, se usa secure_data/ anclado a la raíz del proyecto (solo válido en desarrollo local, no en una instalación vía pip).

$env:COMS_SECURE_DATA_DIR = "C:\ruta\a\secure_data"

Logs

Cada módulo escribe su propio log bajo C:\logs\<módulo>\<módulo>_AAAAMMDD.log, con una subcarpeta errors\ para los mensajes de nivel error. Ruta no configurable actualmente.

Uso

Instalado, expone el comando:

coms-consume

Equivalente en desarrollo (sin instalar el paquete):

python -m coms_consume_roan.main

Nota: este comando reemplaza al antiguo python main.py. Si el proceso está agendado en Control-M, hay que actualizar el comando invocado.

Tests

Pruebas unitarias con unittest en tests/. Todas las conexiones externas (BD, WS SOAP, cifrado de credenciales) están mockeadas — no requieren VPN, BD real ni access.txt.

python -m unittest discover -s tests -v

Build y publicación

python -m build
twine check dist/*
twine upload dist/*

Requisitos

Python 3.10 o superior. Acceso a la base de datos MySQL automcae y al WSDL de ServiceDesk requiere estar dentro de la red interna / VPN.

Metadata

Release files for coms-consume-roan 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for coms-consume-roan 0.1.3
File Size Uploaded Provenance
coms_consume_roan-0.1.3.tar.gz 22.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for coms-consume-roan 0.1.3
File Interpreter ABI Platform
coms_consume_roan-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 39.9 kB

Release files / coms_consume_roan-0.1.3.tar.gz

Download URL coms_consume_roan-0.1.3.tar.gz
Size 22.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7cd75cb928dcefb48d0a087e712aa6453df9af247368630fa96c5e0de5980fb5
BLAKE2b-256 checksum
How to use checksums
94863ba65ae75d10b9cad6d7ad543a6531bea5eb6523a238b355d96c00fe67c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / coms_consume_roan-0.1.3-py3-none-any.whl

Download URL coms_consume_roan-0.1.3-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
522e5eeccdf57ee9f687f82adf02786cbb81e076f9e965cae63d3c78369b9494
BLAKE2b-256 checksum
How to use checksums
c2695a38bc68d4953b7346197aaf82fa9f007a02cc22fb5bda8a5bcb6e9b0a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for coms-consume-roan 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page