Skip to content

[FEAT] DevDesk DevOps Extension - Core Capabilities #1

@BenGWeeks

Description

@BenGWeeks

Overview

Create an Azure DevOps extension that provides additional configuration and storage capabilities for DevDesk beyond what's available in standard DevOps fields.

Required Capabilities

1. User Profile Extensions

Custom fields for Azure DevOps user profiles:

  • Lightning Address - Agent's Lightning address for receiving ZapDesk tips (e.g., agent@getalby.com)
  • NWC Connection String - Nostr Wallet Connect URI for programmatic wallet access
  • Agent Availability Status - Available, Busy, Away, Offline
  • Skills/Specializations - Tags for skills-based routing

2. Project Configuration

Custom properties for DevOps projects:

  • Email Domain(s) - Comma-separated list of email domains that route to this project (e.g., cairnhomes.com, cairnhomes.ie)
  • Business Hours - Operating hours with timezone (for SLA calculations)
  • Default Assignee - User or team for auto-assignment
  • Auto-Assignment Mode - None, Round-Robin, Load-Balanced, Skills-Based
  • Escalation Contact - Manager/team for escalations

3. SLA Configuration

Store SLA policies at the organization or project level:

  • SLA Tiers - Gold, Silver, Bronze (or custom)
  • Response Time Targets - First response SLA per priority (Urgent: 1hr, High: 4hr, etc.)
  • Resolution Time Targets - Resolution SLA per priority
  • Business Hours vs 24/7 - Whether SLA counts only business hours
  • SLA Conditions - Rules for which tickets get which SLA tier (by tag, requester domain, etc.)
  • Breach Notifications - Who to notify on SLA breach

4. Ticket Enhancements

  • Custom Ticket Types - Beyond standard DevOps work item types
  • Canned Responses - Stored macro/template responses for common issues
  • Ticket Categories - Hierarchical categorization (Hardware > Laptop > Screen)
  • Required Fields - Enforce certain fields on ticket creation

5. Organization/Customer Data

  • Customer Profiles - Extended customer metadata beyond what's in AAD
  • Organization SLA Tier - Default SLA tier for an organization
  • Organization Tags - For filtering and automation
  • Primary Contact - Main point of contact for an org

Optional / Future Capabilities

DevDesk Navigation Tab

  • Add a "DevDesk" or "Support" tab to the DevOps navigation
  • Shows work items tagged with ticket in a Zendesk-like view
  • Quick filters: My Tickets, Unassigned, All Open
  • Note: May implement this later, lower priority

Reporting Dashboard

  • Ticket volume trends
  • SLA compliance metrics
  • Agent performance stats
  • Customer satisfaction scores

Automation Rules

  • Auto-tagging based on content
  • Auto-assignment rules
  • Auto-responses for specific conditions
  • Escalation triggers

Technical Approach

  • Build as Azure DevOps Extension (TypeScript/React)
  • Use DevOps Extension Data Storage for custom fields
  • Contribute to user profile, project settings, and work item form
  • REST API for DevDesk to query configuration
  • Consider using DevOps Extension Settings for org-wide config

References

Acceptance Criteria

  • Extension installable from Azure DevOps Marketplace (or private)
  • User profile fields accessible via API
  • Project email domains configurable and queryable
  • SLA policies storable and retrievable
  • DevDesk can read all configuration via REST API

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions