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

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

Built distribution (wheel)

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

Total release size: 39.2 kB

Release files / coms_consume_roan-0.1.1.tar.gz

Download URL coms_consume_roan-0.1.1.tar.gz
Size 22.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4af4c3838313f72c1cc4896a9617bc90230a54afdc7880a78d4063927f889402
BLAKE2b-256 checksum
How to use checksums
54d9fe60cbbf5b97c7e991d576b12363705cd6333ddaf1794a33869c0ba6efe7
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.1-py3-none-any.whl

Download URL coms_consume_roan-0.1.1-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a1d8b7bd4f8572f8d54f6a8477845a5c351d56eb96fc0aafdfc3fb4ac8c1cb4e
BLAKE2b-256 checksum
How to use checksums
6eaf78af1d7df776ea3f1731411a06b9b24aaa84c1985b949e3e671ba6188fee
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.1

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