Extend Jenkins

Skip to end of metadata
Go to start of metadata

General Contribution

Want to help but don't know what to do? You can help to extend and enrich the Jenkins community even if you don't necessarily write code. Here is Beginners Guide to Contributing. Latest snapshots of Jenkins can be found at the official Jenkins CI server and builds of the plugins at the Buildhive CI Server

Migrate from Hudson to Jenkins

How to migrate your development environment and account from Hudson:

Developing Plugins

Jenkins supports plugins, which allow Jenkins to be extended to meet specific needs of individual projects. Read on to learn how to write a plugin, especially make sure to read how to set up your environment.

Additional references

Developing Plugins in Ruby

Developing Plugins in Python

Developing Jenkins

If you are interested in hacking Jenkins itself, read on to learn how to do so.

Developing Integrations with Jenkins

If you are developing other tools that interface with Jenkins, here are the relevant information.

Need help?

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Dec 04, 2009

    Venugopal Shenoy says:

    Is there any plans to introduce plug-ins for Testlink Unknown macro: {open-sour...

    Is there any plans to introduce plug-ins for Testlink

    Unknown macro: {open-source Test Management Tool}

    & OpenSTA (open-source Performance Automation Tool)

  2. Jan 07, 2010

    abrugger - says:

    Does someone has a detailed Hudson documentation to write Hudson plugin? The wik...

    Does someone has a detailed Hudson documentation to write Hudson plugin? The wiki doc is rather too basic and when you want to write more than the 'hello World' plugin is not so easy to find out which classes/interfaces to use/implement, where to put codes, etc...So it's very time consuming to write Hudson plugins.

    Thanks in advance

  3. Mar 25, 2010

    Jes Struck says:

    Started by user anonymous Building remotely on alfred Updating https://svn.dev.j...

    Started by user anonymous
    Building remotely on alfred
    Updating https://svn.dev.java.net/svn/hudson/trunk/hudson
    ERROR: Failed to update https://svn.dev.java.net/svn/hudson/trunk/hudson
    ha:AAAAVx+LCAAAAAAAAABb85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0m1W6NqK7pC2JmJgaGiiEEKTYMzhAYpZIAARpDCAgBF2FTYYAAAAA==org.tmatesoft.svn.core.SVNException: svn: Cannot lock working copy '/files/hudson/workspace/hudson/hudson/plugins/zentimestamp/src/ittest/java/hudson/plugins/zentimestamp': No space left on device
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:82)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:69)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea14.lock(SVNAdminArea14.java:1552)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:368)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:397)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:272)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:265)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.openAnchor(SVNWCAccess.java:160)
    at org.tmatesoft.svn.core.wc.SVNUpdateClient.update(SVNUpdateClient.java:512)
    at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:401)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:632)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:593)
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2018)
    at hudson.remoting.UserRequest.perform(UserRequest.java:114)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:270)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.io.IOException: No space left on device
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:883)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea14.lock(SVNAdminArea14.java:1547)
    ... 26 more
    FATAL: null
    ha:AAAAVx+LCAAAAAAAAABb85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0m1W6NqK7pC2JmJgaGiiEEKTYMzhAYpZIAARpDCAgBF2FTYYAAAAA==java.lang.NullPointerException
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:653)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:593)
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2018)
    at hudson.remoting.UserRequest.perform(UserRequest.java:114)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:270)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)

    maybe a new disk i about time

    see http://hudson.glassfish.org/job/hudson/19601/console

  4. Sep 14, 2011

    Simon Payne says:

    Hi all I've just downloaded the latest version of Jenkins source code and tried...

    Hi all

    I've just downloaded the latest version of Jenkins source code and tried to build it using Maven 2.2.1 on 32-bit Windows XP.  It fails to compile with this error:

    (This is when compiling the core module.)

    [INFO] Compiling 785 source files to D:\jenkins\jenkins\core\target\classes
    [INFO] -------------------------------------------------------------
    [ERROR] COMPILATION ERROR :
    [INFO] -------------------------------------------------------------
    [ERROR] \jenkins\jenkins\core\src\main\java\hudson\util\DescribableList.java:[42
    ,48] package org.apache.avalon.framework.configuration does not exist
    [ERROR] \jenkins\jenkins\core\src\main\java\hudson\util\DescribableList.java:[42
    ,48] package org.apache.avalon.framework.configuration does not exist
    [INFO] 2 errors
    [INFO] -------------------------------------------------------------
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 6:15.978s
    [INFO] Finished at: Wed Sep 14 15:43:30 BST 2011
    [INFO] Final Memory: 31M/247M

    Can anyone advise what is wrong? 

    thanks

    Simon

  5. Jun 25, 2012

    Marc Günther says:

    It would be worth mentioning that the plugins are not built on the official...

    It would be worth mentioning that the plugins are not built on the official Jenkins CI server anymore, but on Buildhive: https://buildhive.cloudbees.com/job/jenkinsci/