Chalmers University of Technology
Schema driven AI-Assisted Generation of PowerShell Modules for Eiffel Events in CI/CD Pipelines - Developing and testing AI-Assisted PowerShell modules from JSON schemas for creating, validating and sending Eiffel Events
Abstract
dc:description.abstractModern CI/CD pipelines rely on structured event data to provide traceability, automation, and observability across the software development lifecycle. The Eiffel protocol addresses this need by formally specifying build, test, and deployment events through JSON Schemas, making it well-suited for schema-driven tooling. Despite this, practical integration of Eiffel events into CI/CD pipelines remains largely improvised, and no widely adopted approach exists for Windows-based environments. This thesis investigates how a schema driven and AI-assisted approach can be used to automatically generate a Windows PowerShell module that creates, validates, and sends Eiffel events while remaining testable and maintainable. A Python-based generator was developed that parses the official Eiffel event JSON Schemas and produces PowerShell modules exposing cmdlets for event creation, schema validation, and publication to RabbitMQ. An AI model, GPT-4.1, is integrated as a controlled build-time repair mechanism and is permitted to modify generator logic when system tests fail, but never allowed to change the human-written tests themselves. The entire workflow of generation, testing, building, and releases is automated through GitHub Actions and published via GitHub Releases. The resulting product scales from a single event and version to the full Eiffel event registry by treating new events as new registry entries rather than as new code, with self-correcting validation gates that catch regressions automatically.
Degree
thesis:*- Department dc:contributor.department
- Chalmers tekniska högskola / Institutionen för data och informationsteknik
- Year dc:date.issued
- 2026
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Usman, Muhammad
Rights
- Language dc:language.iso
- eng
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- https://hdl.handle.net/20.500.12380/311659