Skip to content
Rafael M. Pestano edited this page Nov 19, 2018 · 6 revisions

Introduction

This page intends to help developers who want to contribute to LastChanges plugin.

Jenkins plugin development

Following are the steps to help you understanding how Jenkins plugin development work:

Plugin architecture

The architecture is almost the same for every Jenkins plugin.

LastChangesPublisher is the entry point of the plugin. It holds plugin configuration (see it's member variables) and job execution (perform method).

The frontend is backed by jelly files on resources directory, for further info about jelly usage in Jenkins see this and this doc.

The page which shows the project diff is located here. This page uses the buildChanges published by the build to get the diff. It passes this diff to diffToHtml here.

CommitRenderer is responsible by commits page which shows the diff of a single commit. The link to the commit page, passing a commit id as url param, is here

The diff implementation itself is done here.

Adding a new feature

First thing to do before starting the development of a new feature is to open an issue and discuss it.

After that fork this repository and work on the feature and then file a pull request.

A pre requisite for having the PR accepted is that the build must be passing, this implies that plugin tests must be green.