@bdusfu/bac-change-management-frontend
v0.3.9
Published
A Backstage frontend plugin providing a full-featured **IT Change Management (DCM)** interface. It enables developers to create, edit, filter, and approve IT change requests and their associated deployment/DBA activities through a digitized workflow.
Downloads
61
Readme
bac-change-management-frontend
A Backstage frontend plugin providing a full-featured IT Change Management (DCM) interface. It enables developers to create, edit, filter, and approve IT change requests and their associated deployment/DBA activities through a digitized workflow.
What it does
- Create/edit changes with all required fields (category, STF, cause, risk, dates, implementation plan, fallback plan, test documentation)
- Create/edit activities under a change (DCP deployments or DBA activities) with JFrog Artifactory SHA-1 artifact validation
- Filter and search changes by ID, owner, status, STF, cause, category, and dates
- Approve changes with audit logging (user email, Entra ID token, timestamp, device type)
- Update change status through the lifecycle: ÅBENT → BKLAR → KLAR → LUKKET (with validation rules)
UI structure
The plugin has two tabs:
Tab 1: Changes (/change-management/changes)
| Component | Purpose | |---|---| | Filter panel | Search by Change ID, Owner (catalog users), Status, STF (catalog systems), Cause, Category, B/P Date | | Change table | Data grid with expandable rows showing activities; row actions for edit, duplicate, create activity, update status | | Create/Edit dialogs | Slide-in forms for full change CRUD | | Activity dialogs | Create/edit deployment or DBA activities |
Tab 2: Approvals (/change-management/approve)
| Component | Purpose | |---|---| | Pending approvals table | All changes awaiting approval with expandable activity details | | Approve dialog | Full change review with authorised approver verification |
Route
| Path | Plugin ID |
|---|---|
| /change-management | change-management |
Backend API
Communicates with @bdusfu/bac-change-management-backend (resolved via Backstage discovery). Authentication is via an MSAL token passed in the x-authorization header.
Catalog integration
- Fetches all
kind: Systementities for STF autocomplete - Fetches all
kind: Userentities for Owner autocomplete (with profile picture, display name, email)
Domain constants
| Concept | Values | |---|---| | Category | Normal (2), Emergency (2N) | | Cause of Change | New feature (1), Maintenance (2), Error correction (3) | | Risk Level | Critical, High, Medium, Low | | Activity Type | DCP, DBA | | Deployment Type | BCA, BPM, EARKIV, JAVAZOS BATCH, JAVAZOS CICS, MEP, NBP, WCM, WCM2 | | Change Status | ÅBENT, BKLAR, KLAR, LUKKET, ANN, LUKFEJL |
Authentication
| Provider | Purpose |
|---|---|
| Microsoft Auth (microsoftAuthApiRef) | MSAL token for Rumorboy API / Entra ID for approval audit |
| Backstage Identity (identityApiRef) | Current user ID, email, UBI identifier |
Local development
cd plugins/bac-change-management-frontend
yarn startThe standalone dev setup is in the /dev directory. Navigate to /change-management.
Dependencies
| Package | Purpose |
|---|---|
| material-react-table v3 | Data grid tables |
| @mui/x-date-pickers / dayjs | Date picker fields |
| material-ui-nested-menu-item | Nested status update menu |
| @backstage/core-plugin-api | Identity, discovery, fetch APIs |
| @backstage/plugin-catalog-react | Catalog entity queries |
