Dev-Tools for JCasC

Goal: IDE integrations for JCasC, along with a better testing architecture for the JSON schema, and addition of configuration extension points

Status: completed

Team

Student: no image Sladyn Nunes

Mentor(s): timja Tim Jacomb no image Joseph Petersen

Development tools for Jenkins configuration as code (JCasC) are incomplete and not as helpful as they could be. IDE autocompletion does not work as expected in the leading IDE’s (IntelliJ, Visual Studio Code, and Atom).

This project will improve Jenkins configuration as code development tools through a CommunityBridge project. It is the first CommunityBridge project in the Jenkins community. It will be used as an experiment with CommunityBridge and as a project to improve development tools for Jenkins configuration as code.

Issues

  • Missing schema definitions

  • Schema validation issues

  • No automated schema validation tests

Solutions

  • [NEW] Fix existing JSON schema issues

  • [NEW] Rewrite schema in Java if JSON fixes are infeasible

Phase 1: Fix the JSON Schema Generator

Resources

For more details, see this Google Doc - Proposal

Phase 2: IDE Autocompletion For JCasC

  • IntelliJ IDE autocompletion with error detection for the yaml files

  • Visual Studio Code autocompletion with error detection for the yaml files

  • Atom autocompletion with error detection for the yaml files

Meetings