Monday, November 28, 2011

At Last! New Release available

I am pleased to announce updated releases of jenkins plugin for Intellij (0.4.1 for IDEA 10 and 0.3.2 for older IDEA). I still learn on how to work efficiently with git and branch management.

This time, I manually tested on all targeted IDEA and it seems to be ok ;).

There is still improvement to make on feedback message and features such slave monitor, parameterized builds and security features (ssh for example).

I hope this version will reach your expectations.

Wednesday, November 16, 2011

Ouch! : Chapter 2

One lesson learned is do not be in a hurry whenever dealing with bugs.

Last WE, I tried to fix 2 bugs. The first was the HttpClient lib issue. The second was the CSRF Prevention feature in Jenkins.

Dealing with IDEA version was easy. Just need to create 2 branches and 2 releases.

Dealing with Jenkins Security layer is not a simple task and the solution of CSRF was not good enough. Some use cases make the plugin fail. So the quality of the latest release is very low. I just let my keyboard away from me a couple of day and try to figure out the root cause.

Jenkins has a legacy mode that let you give credentials username/password. From the 1.426, CSRF has been introduced to prevent attack and misuses that could be critical for some organization. It generates for each user a crumb data (a kind of id user).
In that case, even if using basic credentials could have no sense and provide crumb data is secure enough for authentication, it needs to be supported.

The upcoming fix is to provide 2 kind of layers security mode : Legacy and Crumb. In the second mode layer, the user will have to authenticate himself with an Internet browser, get the crumb data by with the REST url http://jenkins-server/crumbIssuer and save the value into a local file. This way is not convenient but this could work in case of some specific rights that require authentication.

I would like to apologize myself on the low quality of work that has been produced last day. For the next releases, I will spend more time on functional tests before uploading to the Jetbrains Plugin Repository.

Monday, November 14, 2011

Updated Releases!

Past the stress with IDEA 10.x version (see this post), I created 2 branches:
  • Jenkins Control Plugin 9-: compliant with IDEA between 8 and 9 and JDK 1.5
  • Jenkins Control Plugin: compliant with IDEA 10 and JDK 1.6
So the releases are:
  • 0.3.1 for IDEA 9-
  • 0.4.0 for IDEA 10

It seems there were no impact on the production code (except for Map behavior that changes in JDK 16).

Let's see how IDEA users deal with that. Feedbacks will be given back ;).

Friday, November 11, 2011

Jenkins Security vs Jenkins API

The version of this plugin does not support Cross Site Request Forgery Protection Feature of Jenkins.
CrumbData should be integrated but there is a conflict in case of the server does not allow read only for anonymous connection. Indeed, how to get CrumbData if you are not authenticated and how to authenticate yourself when do not have your CrumbData?

Ouch !

HttpClient is embedded in the version 0.3 of the jenkins plugin and works fine for IDEA 8.x. Unfortunately, the version 9 10 (and more) of IDEA causes critical bug during the plugin startup because this HttpClient is now packed within the IDEA. So Java does not understand why 2 same libs are in the classpath and causes an InitializationError.

I will create a specific Intellij 9- branch for supporting old versions. This way will also allow me using Intellij SDK 10+ and JDK6.

Thursday, November 10, 2011

Eclipse plugin version Stand by

After such a long period of inactivity, the Eclipse version of the jenkins plugin will be paused. There are some reasons. We agreed it was too ambitious to develop both versions in parallel whereas the intellij version is still immature and requires a lot of enhancements.

It does not mean we give up this "fork". We just want to focus our efforts on what works at now (the current code for Eclipse does not do anything).

We are sure you understand this situation and we apologize people who are waiting for the Eclipse version.

jenkins-control-plugin 0.3 is out

I am please to announce the release 0.3 of the jenkins-control-plugin. The main new features are:
  • Security Support  is now based on HttpClient instead of CLI
  • Parameterized Builds are supported
  • misc bug fix and enhancements
Provide feedback will be very helpful !