djangoplay-web / User guide / DjangoPlay — IssueTracker Integration Architecture
DocsDjangoPlay WebUser guideDjangoPlay — IssueTracker Integration Architecture

DjangoPlay — IssueTracker Integration Architecture

The IssueTracker Integration module integrates the DjangoPlay system with an external or reusable issue tracking system. The integration allows the system to create, update, sync, and manage issues...

3 min readApplies to v1.2.2
On this page ▾
  1. Issue Sync Flow Diagram

1. Overview

The integration uses a generic issue tracker library and an integration layer inside the Paystream project.

This module is part of the Integration layer of the system architecture.


2. Responsibilities

The IssueTracker Integration module is responsible for:

  • Creating issues in external issue tracker
  • Updating issues
  • Syncing issues between systems
  • Mapping internal objects to external issues
  • Handling issue status synchronization
  • Handling issue comments and updates
  • Sending issue notifications
  • Logging integration activity
  • Handling integration errors
  • Scheduling issue synchronization tasks
  • Providing UI for issue management
  • Integrating helpdesk and issue tracking

This module connects internal system workflows with external issue tracking systems.


3. Why IssueTracker Integration Exists

Many systems require integration with external issue trackers for bug tracking, task tracking, and issue management.

The IssueTracker Integration provides:

Purpose Description
External Issue Tracking Track issues externally
Sync Issues Synchronize issue data
Link Issues to Entities Link system objects to issues
Helpdesk Integration Support tickets linked to issues
Workflow Integration Issues in workflows
Notifications Issue updates
Automation Issue automation
Reporting Issue tracking reports

This integration allows the system to interact with external issue management systems.


4. Integration Structure

Typical structure of the IssueTracker integration module:

plaintext
paystream/
│
└── integrations/
└── issuetracker/
│
├── services/
│   ├── issue_service.py
│   ├── issue_sync_service.py
│   ├── issue_mapping_service.py
│   └── issue_comment_service.py
│
├── clients/
│   └── issuetracker_client.py
│
├── tasks.py
├── signals.py
├── models.py
├── utils.py
└── tests/

The integration module typically includes API clients, sync services, and mapping logic.


5. Issue Synchronization Flow

Issue Sync Flow Diagram

plaintext
    Internal Event (Helpdesk / System)
                |
                v
    Issue Integration Service
                |
                v
        IssueTracker Client
                |
                v
        External Issue Tracker
                |
                v
            Sync Response
                |
                v
    Update Local Issue Record
                |
                v
            Audit Log Entry

Synchronization may be:

  • Push (internal → external)
  • Pull (external → internal)
  • Scheduled sync
  • Event-driven sync

6. Integration with Other Apps

The IssueTracker integration interacts with multiple modules:

App Usage
Helpdesk Support tickets linked to issues
Users Issue creators
Paystream Workflow integration
Audit Integration logs
Mailer Issue notifications
API Docs Integration API logging
Entities Issue related entities
Invoices Billing issues
FinCore Financial issue tracking

The integration module connects internal workflows with external issue tracking systems.


7. Internal Architecture Diagram

plaintext
    Internal Modules
            |
            v
Issue Integration Services
            |
            v
    IssueTracker Client
            |
            v
    External Issue Tracker
            |
            v
    Sync / Webhooks / APIs
            |
            v
    Local Issue Models
            |
            v
        Audit Logs

This architecture separates integration logic from domain modules.


8. Design Principles

The IssueTracker integration follows these principles:

Principle Description
Integration Layer External system integration
Client-Service Pattern API client + services
Sync Mechanism Data synchronization
Mapping Layer Map internal to external
Event Driven Trigger on events
Background Sync Scheduled sync
Error Handling Integration reliability
Logging Integration logs

9. Summary

The IssueTracker Integration module connects the system with an external issue tracking system. It handles issue creation, updates, synchronization, and mapping between internal system objects and external issue tracker records.

This module is part of the Integration layer and integrates with helpdesk, users, audit, and workflow modules to synchronize issue data between systems.