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

jmelon

6/11/20253 min read

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.

    How to create a Named Credential

  • 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).

Disclaimer

Related Stories

Related Stories