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.0

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.0
File Size Uploaded Provenance
coms_consume_roan-0.1.0.tar.gz 22.0 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 38.8 kB

Release files / coms_consume_roan-0.1.0.tar.gz

Download URL coms_consume_roan-0.1.0.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8f4cfaab5a03d6f14a959e2d87ab30eb7b4050d8ddb197cc7f3b7e862face9d3
BLAKE2b-256 checksum
How to use checksums
1ba15e17a95b054ee6c8d337be79e27f2aef149dc2da70755a57bc7dac10fcef
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.0-py3-none-any.whl

Download URL coms_consume_roan-0.1.0-py3-none-any.whl
Size 16.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05d5ad8a683cee1eba93b308c990efc4909e5a84f92d0204db24a91d02650a77
BLAKE2b-256 checksum
How to use checksums
48f9a32efb74b204a763bbfd70fd82457b90ce4a649015e80184ab8a6459865a
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.0

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