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

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.2
File Size Uploaded Provenance
coms_consume_roan-0.1.2.tar.gz 22.3 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 39.3 kB

Release files / coms_consume_roan-0.1.2.tar.gz

Download URL coms_consume_roan-0.1.2.tar.gz
Size 22.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c8faac66745aad843c36c28d5d836591dac5399d14a6d7df6fcae236dc799c98
BLAKE2b-256 checksum
How to use checksums
05290e84f7ada360816ad6b56f783753992896872b306ffe6b757d482b265966
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.2-py3-none-any.whl

Download URL coms_consume_roan-0.1.2-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c8de2a3107e09d861d402e050932829b441c1d7ab9a0bbf83709e36797f904f
BLAKE2b-256 checksum
How to use checksums
df9d7acf711af2d07ec2a38f65b28656650d960b12fe7d374df9bc5bef8beaa3
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.2

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