How jyotirmoy0989/jira_delivery_tracker works
Purpose and entry point
This is a Python migration/automation utility that converts delivery-tracker spreadsheet data into Jira-compatible work items. The primary executable is main.py; its expected source and generated artifacts are data/input/Delivery_Tracker.xlsx, data/output/jira_epics.csv, and data/output/jira_tasks.csv.
Workflow orchestration
main.py likely composes the Excel ingestion, transformation, and Jira-output stages. Workflow behavior and shared operational values are centralized under config/workflow.py, config/settings.py, and config/constants.py, creating a boundary between pipeline logic and environment/project-specific rules.
Excel ingestion and quality gate
The Excel subsystem owns conversion from workbook structure into internal records:
• src/excel/reader.py reads the tracker workbook.
• src/excel/validator.py validates expected source data before downstream Jira generation.
• src/excel/transformer.py normalizes or reshapes validated rows into Jira-oriented entities.
The key boundary is between user-maintained Excel input and structured migration records; invalid or incomplete tracker data should be handled before Jira artifacts or API calls are produced.
Field mapping and domain translation
config/field_mapping.py defines the critical correspondence between delivery-tracker fields and Jira fields. Together with config/workflow.py, it likely controls how source work is classified into epics versus tasks and how parent/child relationships, labels, and other Jira attributes are populated. This mapping layer is the main contract that must evolve when either the spreadsheet schema or Jira project conventions change.
Jira output and service boundary
The Jira package supports both file-based and API-based integration:
• src/jira/csv_generator.py produces importable CSVs, represented by data/output/jira_epics.csv and data/output/jira_tasks.csv.
• src/jira/api.py and src/jira/jira_service.py encapsulate direct Jira communication.
• src/jira/create_epic.py specializes creation of epic-level Jira work items.
• src/jira/migrate_labels.py handles label migration/update behavior.
CSV generation is an offline/import boundary; the API/service modules are the external-service boundary and should isolate Jira authentication, request behavior, and response/error handling from Excel transformation logic.
Runtime and observability
The repository is a Python application, with dependencies declared in requirements.txt. Logging is centralized in src/logger/logger.py and should provide pipeline-stage visibility across workbook processing, CSV creation, and Jira operations. Jira is the material external service; the local filesystem hosts both the workbook input and generated migration outputs.
Main entry points: main.py Migration CLI · transformer.py Jira transformer · jira_service.py Jira service · csv_generator.py CSV generator
Components 19
Configuration
Pipeline rules and source-to-Jira contracts.
- Workflow rules · Controls pipeline behavior and work classification.
config/workflow.py - Settings · Holds environment or project-specific values.
config/settings.py - Constants
config/constants.py - Field mapping · Defines delivery-tracker to Jira field correspondence.
config/field_mapping.py
Excel pipeline
Workbook ingestion, validation, and normalization.
- Workbook reader · Reads workbook structure into internal records.
src/excel/reader.py - Source validator · Rejects invalid or incomplete tracker data before output.
src/excel/validator.py - Jira transformer · Normalizes validated rows into Jira-oriented entities.
src/excel/transformer.py
Jira integration
Offline import generation and direct Jira operations.
- CSV generator · Creates importable epic and task files.
src/jira/csv_generator.py - Epic import CSV
data/output/jira_epics.csv - Task import CSV
data/output/jira_tasks.csv - Jira service · Isolates Jira request, response, and error behavior.
src/jira/jira_service.py - Jira API client · Encapsulates direct Jira communication.
src/jira/api.py - Epic creator · Creates epic-level Jira work items.
src/jira/create_epic.py - Label migration · Migrates or updates Jira labels.
src/jira/migrate_labels.py
Other components
- Migration CLI · Orchestrates the delivery-tracker migration workflow.
main.py - Delivery tracker · User-maintained migration source.
data/input/Delivery_Tracker.xlsx - Jira · Target work-management service.
- Pipeline logger · Provides visibility across migration stages.
src/logger/logger.py - Python dependencies
requirements.txt
Connections 21
- Migration CLI → Workflow rules: uses
- Migration CLI → Settings: uses
- Migration CLI → Constants: uses
- Migration CLI → Workbook reader: starts ingestion
- Delivery tracker → Workbook reader: read by
- Workbook reader → Source validator: source records
- Source validator → Jira transformer: validated rows
- Field mapping → Jira transformer: maps fields
- Workflow rules → Jira transformer: classifies work
- Jira transformer → CSV generator: Jira entities
- CSV generator → Epic import CSV: writes
- CSV generator → Task import CSV: writes
- Jira transformer → Jira service: work items
- Jira service → Jira API client: uses
- Jira service → Epic creator: creates epics
- Jira service → Label migration: migrates labels
- Jira API client → Jira: API requests
- Epic creator → Jira: creates
- Label migration → Jira: updates
- Migration CLI → Pipeline logger: logs through
- Python dependencies → Migration CLI: runtime dependencies