Introducing Maeve Ho – GSoC 2025 Contributor Enhancing Tekton Integration in Jenkins
Hi everyone! 👋
I’m Maeve Ho, a GSoC 2025 contributor working with the Jenkins community to enhance the Tekton Client Plugin. My project focuses on delivering full CRUD (Create, Read, Update, Delete) capabilities for Tekton resources from within Jenkins — a step forward in unifying Jenkins pipelines with Kubernetes-native CI/CD automation.
Project Description
Tekton is a powerful framework for cloud-native CI/CD, but Jenkins users currently face limitations when managing Tekton resources — only basic creation and deletion are supported. My goal is to fill that gap by implementing full lifecycle operations, enabling Jenkins to interact deeply with:
-
Tasks
andClusterTasks
-
Pipelines
-
PipelineRuns
andTaskRuns
-
Triggers
,TriggerBindings
, andTriggerTemplates
These enhancements will allow teams to visualize, modify, and automate Tekton workflows directly in Jenkins, helping reduce tool fragmentation and streamline Kubernetes CI/CD adoption.
Community Bonding Period Works
The community bonding phase gave me a valuable opportunity to understand the ecosystem and set a strong technical foundation. I:
-
Set up a local Jenkins + Minikube environment for full-stack plugin testing.
-
Explored the current plugin codebase and documented its architecture.
-
Reviewed Kubernetes client methods and Tekton CRD structures.
-
Collaborated with mentors (@krisstern, @gounthar, @waveywaves) to finalize feature scope and workflow design.
-
Drafted a comprehensive technical plan outlining the API extensions, validation logic, and Jenkins pipeline step design.
-
Opened #390 to upgrade the plugin to Java 17 and Jenkins 2.492.3, resolving Maven enforcer violations, removing legacy dependencies, and verifying runtime compatibility via
mvn hpi:run
and Jenkins UI. -
Ran successful builds and confirmed
.hpi
generation; currently triaging 9 failing tests and reviewing CI failures (SpotBugs, Javadoc, junit).
These early efforts ensure that the coding phase starts with clarity and purpose.
My GSoC Coding Period Goals
Throughout the summer, my deliverables will include:
-
Fully functional CRUD methods for Tekton resources with type-safe model classes.
-
Read and update logic using Kubernetes API conventions (
GET
,PATCH
, etc.). -
Secure integration with Jenkins credentials for Kubernetes auth.
-
YAML/JSON parsing and serialization support for Tekton resource specs.
-
Jenkins pipeline steps (e.g.
tektonRead
,tektonUpdate
) exposed via DSL. -
Unit and integration tests against a local Kubernetes cluster.
-
Example pipelines and user documentation to guide adoption.
These improvements aim to make Jenkins a more powerful tool in Kubernetes-native CI/CD environments, where teams often rely on both Jenkins and Tekton together.
Future Plan
After GSoC, I plan to stay active in the Jenkins community — maintaining the Tekton Client Plugin, addressing user feedback, and possibly extending the plugin with user interface features like visual task/pipeline run inspectors.
Background
I’m currently studying Computer Science at Lehigh University, Pennsylvania, US. My past experience includes:
-
Deploying CI/CD pipelines with Jenkins and Kubernetes at VNPT.
-
Designing high-throughput data pipelines and HPC workflows using SLURM.
-
Developing REST APIs with strong error handling and credential isolation.
-
Building open-source projects involving AI, vector search, and caching systems.
I enjoy projects at the intersection of infrastructure, cloud-native tooling, and developer experience — and this GSoC project is the perfect fit.
Acknowledgements
Huge thanks to my mentors – @krisstern, @gounthar, and @waveywaves – for their clear guidance, timely feedback, and thoughtful technical advice. I also appreciate the support from the Jenkins GSoC admin team and wider community for making this program welcoming and impactful.