Lug Deploy Tracker (Beta)
A 100% native Salesforce solution to visually track, analyze and review deployment activity over time, complementing Salesforce’s default DeployRequest retention with extended historical tracking. It also allows you to easily review deployed components, quickly identify failed deployments, access deployment status directly from deployment result records, and gain deeper visibility into your deployment process.
PROJECTS


Lug Deploy Tracker is a Salesforce solution designed to track and analyze deployment activity by retrieving DeployRequest data via the Tooling API.
It provides advanced scheduling, synchronization, and reporting features to help administrators and developers gain full visibility into past deployment activity.
This app is heavily inspired (in spirit and in look & feel) by the great Nebula Logger — though much simpler and focused on deployment tracking.
Some structural and UI ideas are also borrowed from chat-gpt-sfdc, a very well-structured LWC Salesforce project.
Overview


Synchronize DeployRequest records using the Tooling API.
Store detailed deployment results in custom objects:
DeployResult__c
DeployResultComponent__c
DeployResultTest__c
Configure automatic synchronization frequency (daily, hourly).
View and manage settings via Lightning Web Components (LWC):
Manual synchronization
Schedule settings
Advanced options
Track progress of batch synchronization via Platform Events and progress bar.
Features
You must enable one of the following authentication methods before using the app:
Option 1: Session ID authentication (uses Modify All Data permission)
Assign the permission set DeployAdminAccessSID to the user.
Select “Use Session ID” in the advanced settings.
Option 2: Named Credential authentication (recommended, least privilege)
Create a Named Credential for the Tooling API with the proper connected app.
Assign the permission set DeployAdminAccessNC to the user.
Select the Named Credential in the advanced settings.
Installation
You can install Lug Deploy Tracker in your Salesforce org using one of the following links:


Usage
Steps
You can trigger sync manually by using the Synchronization Settings tab.
If the Start Date field is left empty, the app will automatically retrieve data from the last 30 days.
If the End Date field is left empty, the app will retrieve data up to today.


Manual Sychronization
Scheduled Synchronization
You can also configure periodic automatic sync:
If you schedule synchronization to start at 16:00 with a frequency of 2 hours, the app will automatically retrieve DeployRequests from the last 2 hours starting from 16:00, and will repeat this process every 2 hours.
The next scheduled execution time is always displayed in the form.


Lug Deploy Tracker is a 100% native Salesforce application that leverages a modular, clean architecture.
Frontend (LWC)
- User Interface Layer
deploySettingsApp — Main container app
deployHeader — Application header
deploySyncSettings — Manual synchronization UI
deployScheduleSettings — Schedule settings (start date, unit, frequency)
deployAdvancedSettings — Advanced options (batch size, named credential, intermediate states)
deployErrorHandler — Reusable error handling component
deployToastService — Reusable toast notification service
Backend (Apex)
- Service Layer
DeployService — Entry point for synchronization logic (called by LWC)
DeployScheduleService — Handles schedule logic (System.schedule)
DeployRequestBatch — Batch Apex that performs DeployRequest synchronization (Tooling API)
- Integration Layer
DeployToolingClient — Integration with Salesforce Tooling API (fetch DeployRequest and DeployResult data)
DeployToolingClientInterface — Interface for Tooling Client
DeployToolingApiMock — Mock for Tooling API tests
- Data Access Layer
DeploySetupRepository — Manages configuration data and settings persistence (Custom Setting )
DeployValidator — Validates configuration and access
DeployUtils — Utility functions (MD5 hashing, cron generation, date utils, etc.)
DeployConstants — Centralized constants (configuration and error messages)
- Data Mapping Layer
DeployApiWrapper — Deserializes Tooling API responses into wrapper objects (DeployRequest, Result, Details, Components, Tests)
DeployResultMapper — Maps DeployResult__c from Tooling API data
DeployResultComponentMapper — Maps DeployResultComponent__c from Tooling API data
DeployResultTestMapper — Maps DeployResultTest__c from Tooling API data
- Platform Events
Progress Events: The batch process publishes progress updates through the DeployProgress__e Platform Event, which drives the live progress bar in the LWC during synchronization.
Data Model
- Custom Objects
DeployResult__c — Deployment master record
DeployResultComponent__c — Deployed components (per DeployResult)
DeployResultTest__c — Test results (per DeployResult)
Configuration
- Custom Setting
DeploySetup__c — Hierarchical Custom Setting (used for operational state during execution and by the LWC)
Architectural Overview


This package is provided "as is", without warranties or guarantees of any kind, either express or implied.
You assume full responsibility for any outcomes resulting from its use. The author and contributors shall not be liable for any direct, indirect, incidental, or consequential damages, or any data loss arising from the use of this package in any Salesforce environment (production or sandbox).