Engineering case study · Asset management

Meraki–Jira Asset Synchronization

An API-driven inventory synchronization workflow that brings Cisco Meraki switch records into Jira Service Management Assets, with device metadata and operational status.

Cisco MerakiJira AssetsAzure AutomationPowerShellAzure Key VaultREST APIs

The challenge

Maintaining network-device records manually across management platforms and a configuration management database creates stale inventory, inconsistent metadata, and additional work when devices change status.

Inventory accuracy

Keep switch records aligned with the network management source.

Consistent metadata

Map names, serial numbers, models, addresses, and location information into asset attributes.

Operational visibility

Include offline and dormant devices rather than silently dropping them.

Solution architecture

A PowerShell-based integration retrieves Meraki device and status data, normalizes it, then creates or updates corresponding Jira Assets objects.

Azure Key VaultRetrieve API credentials
Meraki DashboardSwitches and network metadata
PowerShellParse and map attributes
Jira Assets APIFind, create or update
CMDBReconciled switch records
Architecture is simplified for public presentation. No tenant identifiers, API tokens, internal network details, or employer-owned source code are included.

Implementation highlights

  • Scoped discovery: Fetch switch inventory for the selected Meraki environment and resolve related network information.
  • Status-aware import: Include offline and dormant switches alongside active devices.
  • Location parsing: Derive office, floor, area, and device identifiers from established naming conventions.
  • Attribute mapping: Normalize serial number, model, MAC address, IP address, firmware, network, status, and last-reported data where available.
  • Create/update reconciliation: Look up existing Jira Assets records and update them; create missing switch objects.
  • Secret management: Retrieve integration credentials through Azure Key Vault rather than embedding them in scripts.

Engineering approach

The initial scope focuses on switch synchronization. It separates source-data retrieval, naming and attribute normalization, and Jira Assets reconciliation so each stage can be tested independently.

Future iterations can extend the inventory coverage, add richer execution summaries, and formalize monitoring and retry behavior. Those extensions are not presented as completed work here.

Explore related work

A public, independently developed demonstration repository can be linked here once its code and sample data are cleared for publication.