Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

Plugin Information

View Synergy on the plugin site for more information.

This plugin provide integrations with IBM Rational CM/Synergy 6.5a Version Manager SCM


Development and testing projects

Those features applies to projects in the working or prep state.

  • Set the workarea path of an existing project to the location of the Hudson project workspace
  • Update the workarea
  • Detect conflicts
  • Create a changelog

This feature apply to projects in the prep state.

  • Create and publish a baseline (always, never or only if the build is successful)
  • Copy the tasks from a Synergy folder to another

Baselined projects

Those features applies to static projects.

  • Copy a snapshot of a project
  • Copy a snapshot of all projects in a baseline
  • Copy a snapshot of added or changed files between two projects
  • Copy a snapshot of added ot changed files between two baselines
  • Create a changelog


This plugin is using the CLI interface. It has been developed and tested with Synergy 6.5

Using multiple nodes

It is possible to build a project on multiple nodes, by creating a copy of the project for each node. The name of the node must be in the Synergy project name, and a dynamic project name must be set in the Synergy plugin.

For example, if the project names match a pattern like "project-NODE" (where "NODE" is the name of the node), the name of the project in the Synergy plugin must be "project-${COMPUTERNAME}".


The location of the ccm executable must be set in the system configuration page.
Depending on the server, a location for the ccm ui and ccm eng log may also need to be set.


1.7 (17 Sep 2013)

  • Handle spaces inside object names (pull #8)
  • Updated to 1.424 baseline (pull #10)
  • Keep passwords secret (pull #11)
  • Corrected Unix vs. Windows determination on slaves (pull #12)


Improve change polling : if configured to do so, check change applies to the project and not only the release.
Fix starting when a warning is returned by Synergy at login.
Only auto-configure the workarea if configured to do so.
Allow to update a project grouping.
Improve changelog computation speed.
Fix use of dynamic project name, allowing to build on multiple nodes.
Don't required the build manager role if not needed.
Fix subproject path in change log.
Improve error detection.

Bug fixes
Baseline "Release" and "Purposes" will be based on the project's if the fields are left blank (JENKINS-8613)


Add option to reuse a session.
Add option to keep or update subprojects when updating a project.
Add option to abort the build if there are update warnings.
Add "copy folder" post build function.
Add "pathname" start parameter.
Fix location of subproject.
Fix detection of "No task" conflict.
Fix checkout of baselined project because the changelog is not computed.


Fix conflict detection.


Support conflict detection. The build fails if conflicts are detected.
Fix use of the "-rc" flag.
Fix baseline creation.
Fail the build if the Synergy update command returns 1.
Reset workarea path if an obsolete workarea is found (may not handle all cases)


Support change pooling.
Support the "-rc" start flag.
Improve the computation of the modified file paths in the changelog for subprojects (still needs some work).
Allow to use the baseline objectname as the baseline name.


Fix end of line handling on UNIX server, which was causing a failure in the detection of the project state.
Don't assume the database version delimiter is '~'


Initial release


  1. Unknown User (purnank)

    Has the plug-in been added to Downloads list?

    1. Unknown User (jribette)

      I've just uploaded the first release of the plugin to the downloads list.

  2. Unknown User (dorothy.valiga@landsend.com)

    Love the plugin. I can't get it quite to work, probably my own misunderstanding.

    a) Low priority: I had to install it in same server as Synergy; can you add "-rc" to startup string? should work even if the server is not remote; otherwise add checkbox option?

    b) High priority (I can't use the plugin): If I set the project name to a collect or working project, I get the error "not a static project". If I set it to a baselined project, I get this readout, which does not show any "update members" or "create baseline" that I would expect. Apparently I'm not "getting it" as to how to set this up properly. Can you help?


    workspace $ ccm start -d <mydb> -h -n <myuser> -nogui -m -q -pw ********

    workspace $ ccm set role build_mgr

    workspace $ ccm attr -s status -p <myproject>~test_for_hudson

    workspace $ ccm copy_to_file_system <myproject>~test_for_hudson -path "<myhomedir>/.hudson/jobs/<my project title>/workspace" -r
    Copying to file system 1/1, project <myproject>~test_for_hudson...
    Copy to work area: 25% complete...
    Copy to work area: 50% complete...
    Copy to work area: 75% complete...
    Copy to work area: 100% complete...
    Copying to file system complete.

    workspace $ ccm stop
    SYNERGY/CM engine exiting.

    Sending e-mails to: Dorothy.Valiga@<myemail>
    workspace $ ccm start -d <mydb> -h -n <myuser> -nogui -m -q -pw ********
    workspace $ ccm baseline -publish "<my project title>-20090115-0121"
    Warning: No baseline found with name '<my project title>-20090115-0121'.

    workspace $ ccm stop
    SYNERGY/CM engine exiting.

    finished: SUCCESS

    1. Unknown User (jribette)

      Please check the new 1.1 release of the plugin. It fixes the detection of the project state on UNIX server.

  3. Unknown User (schnuffel)

    With Version 1.1 and CCM 6.4 (similar 6.5) i found the following problems:

    [zv31_sp_3] $ ccm attr -s maintain_wa -project "zv_main#R31_SP_3_Windows_db2                      "
    Warning: Object version 'R31_SP_3_Windows_db2                      ' too long, use version less than 32 characters long.
    Specified project cannot be identified: 'zv_main#R31_SP_3_Windows_db2                      '
    The plugin adds blanks to the project name. After that, the Projectname is too long.

    Another point is continuing integration. Building by SCM is ignored. Nothing happens. First i tried  * * * * *  for the timetable. then i tried */30 * * * * . The build must be started manually. Any idea?

    1. Unknown User (jribette)

      Please check the new 1.2 release of the plugin.

  4. Unknown User (jhm)

    1. I havent seen a component for the Synergy plugin in JIRA.

    2. Feature Request: Option for keep the Synergy session during the build

    We use the ccm.exe for asking Synergy for information about the project, release and tasks. This is done during the build. So this requires an open Synergy session. While the developer usually has one, Hudson closes the session directly after reconfiguration.

    The idea is to provide an option "Keep Synergy session open for the build" which causes the Synergy plugin to close the session after the last build step (maybe including post processing).

    1. Unknown User (jribette)

      I don't have the right to create components in JIRA, but I asked for an admin to do it.

      The keep Synergy session open during build feature looks touchy to me as I'm not sure I'll be able to close the session after the build (to my knowledge, the SCM plugin is only invoked before the build)

      1. Unknown User (jhm)

        If thy SCM plugin is invoked only before the build, it can play together with another one: the synergy plugin lets the session open, stores a flag and the baseline plugin reuses and closes the session according to the flag.

  5. Unknown User (jhm)

    When I rename a Job in Hudson the Workarea is not updated.

    1. Unknown User (jribette)

      The code is supposed to check the workarea path at each build. Can you post the build log after the rename of the job ?

      1. Unknown User (jhm)

        Before Renaming

           +-- jobs
           |    +-- MyJob    <--- the job to rename
           |    |    +-- builds
           |    |    +-- workspace
           |    |          +-- MyProject

        Workspace according to Synergy Java Client: C:\hudson\jobs\MyJob\workspace


        Rename MyJob into MyJobRenamed in the Hudson Job configuration window.

        After Renaming

           +-- jobs
           |    +-- MyJob
           |    |    +-- builds
           |    |    +-- workspace
           |    |          +-- MyProject

        Workspace according to Synergy Java Client: C:\hudson\jobs\MyJob\workspace (unchanged).

        Build the project

        Workspace according to Synergy Java Client: C:\hudson\jobs\MyJobRenamed\workspace (unchanged).

        Parts from the Log

        [workspace] $ ccm attr -s maintain_wa -project MyProject-id
        [workspace] $ ccm attr -s wa_path -project MyProject-id
        [workspace] $ ccm attr -m wa_path -v C:\hudson\jobs\MyJobRenamed\workspace -project MyProject-id
        Setting path for work area of ...

        Maybe I am trying something not intended to be done - I was changing code in Hudsons workarea (atm I have only my personal Synergy user id).

        1. Unknown User (cecom)

          you get around it, if you deactivate the workarea for that project. after the next build,  the workarea will have the right place

  6. Unknown User (cecom)

    i tried the new "-rc" feature, but it doesnt work:

    38 	public String[] buildCommand(String ccmAddr) {
    39		String[] commands = new String[]{ccmAddr, "start", "-d", database, "-h", engine, "-n", login, "-nogui", "-m", "-q", "-pw", password};
    41		// Add "-rc" parameter if required.
    42		if (remoteClient) {
    43			List<String> list = Arrays.asList(commands);
    44			list.add("-rc");
    45			commands = list.toArray(new String[list.size()]);
    46		}
    47		return commands;
    48	}

     You get:  

    FATAL: null
    	at java.util.AbstractList.add(AbstractList.java:131)
    	at java.util.AbstractList.add(AbstractList.java:91)
    	at hudson.plugins.synergy.impl.StartCommand.buildCommand(StartCommand.java:44)
    	at hudson.plugins.synergy.impl.Commands.executeSynergyCommand(Commands.java:147)
    	at hudson.plugins.synergy.SynergySCM.checkout(SynergySCM.java:235)
    	at hudson.model.AbstractProject.checkout(AbstractProject.java:801)
    	at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:308)
    	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:265)
    	at hudson.model.Run.run(Run.java:894)
    	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:232)
    	at hudson.model.ResourceController.execute(ResourceController.java:93)
    	at hudson.model.Executor.run(Executor.java:119)

    list is unmodifiable.

    1. Unknown User (jribette)

      I've fixed the code in subversion, thanks for reporting the problem

  7. Unknown User (cecom)

    The creation of a baseline in 1.2 doesnt work, here is the patch:

    --- SynergyPublisher.java	(revision 15840)
    +++ SynergyPublisher.java	(working copy)
    @@ -82,10 +82,12 @@
     		boolean publishBaseline = false;
     		boolean buildSucess = Result.SUCCESS.equals(build.getResult());
    -		if ("after".equals(createBaseline)) {
    +		String createBaslineAtPoint = getTime();
    +		if ("after". equals(createBaslineAtPoint)) {
     			// Always create baseline after build.
     			createBaseline = true;
    -		} else if ("success".equals(createBaseline) && buildSucess) {
    +		} else if ("success".equals(createBaslineAtPoint) && buildSucess) {
     			// Create baseline only after sucessful build.
     			createBaseline = true;

    Are you planning to implement the "Copy Folder" functionality, too?

    1. Unknown User (jribette)

      I've commited the patch in subversion, thanks for it.

      What do you mean by a copy folder functionality ?

      1. Unknown User (cecom)

        within synergy there are many ways for getting tasks for a build. the folder technology is something like (right now, this is only supported via classic client and cli ) :

        1. you create a "Folder" with a query (e.g. get all task that are completed and release version is 1.0.0 and 1.1.0  ) and use this folder for the integration testing project
        2. for the insulated development you create a "Folder" with "Add Tasks Manually" and use it for the insulated development project
        3. after a successfully build of the integration testing project, you copy all tasks from the integration testing project to the insulated development folder
        4. the developers get now the new tasks within the next update without creating a new baseline

          i dont have to create all the time a baseline to publish the tasks to the developers. i do that only nightly.

        so what would we need:

        • in the configuration page two properties
          • Integration Testing Folder Number
          • Insulated Development Folder Number
        • and the option group "copy it only"
          •  After building the project  
          •  If the build is successful

        the commandline looks like:


        perhaps there are better ways to do that, but for me it works great (smile)

  8. Unknown User (cecom)

    another point. is it possible to add a option "check for conflicts" and if there are conflicts, abort the build? here is what i do via shell script:

    ccm conflicts -recurse -nowrap ${PROJECT} >>${PROCESS_LOG} 2>&1
    if [ `cat ${PROCESS_LOG}|grep "No conflicts detected."|wc -l` -ne 1 ] ; then
        echo "Checking conflicts detected an error for Project [${PROJECT}] ... Aborting!"
        exit 1
  9. Unknown User (cecom)

    thx for implementing "checking conflicts" (smile)

    im having from time to time a problem, that my build hangs. If i have a look in the console i see only


    the processlist on the server:

       >ps |grep ccm
     7097     1 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    16212     1 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    16751     1 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    17474     1 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    21401     1 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    24807     1 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    29869 23120 ebbibuild  ?        /usr/local/ccm/bin/ccm start -d /ccmdb/eBBi -h bach -n ebbibuild -nogui -m -q -pw xxxxx -rc
    29870 29869 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    29873 23120 ebbibuild  ?        /usr/local/ccm/bin/ccm start -d /ccmdb/eBBi -h bach -n ebbibuild -nogui -m -q -pw xxxxx -rc
    29875 23120 ebbibuild  ?        /usr/local/ccm/bin/ccm start -d /ccmdb/eBBi -h bach -n ebbibuild -nogui -m -q -pw xxxxx -rc
    29876 29875 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    29878 29873 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    29888 23120 ebbibuild  ?        /usr/local/ccm/bin/ccm start -d /ccmdb/eBBi -h bach -n ebbibuild -nogui -m -q -pw xxxxx -rc
    29889 29888 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    29893 23120 ebbibuild  ?        /usr/local/ccm/bin/ccm start -d /ccmdb/eBBi -h bach -n ebbibuild -nogui -m -q -pw xxxxx -rc
    29894 29893 ebbibuild  ?        /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxxxx -rc
    29918 29894 ebbibuild  ?        /usr/local/ccm/jre/bin/java -cp /usr/local/ccm/etc:/usr/local/ccm/lib/ccmjava.jar com.telelogic.cm.util.ACNP 0 encrypt
    29924 29878 ebbibuild  ?        /usr/local/ccm/jre/bin/java -cp /usr/local/ccm/etc:/usr/local/ccm/lib/ccmjava.jar com.telelogic.cm.util.ACNP 0 encrypt   

    If i kill those processes the build continues. Do you have a solution for this? (This happend also in release 1.2, i didn't tested 1.1 nor 1.0)

    1. Unknown User (jribette)

      I'm unfortunately running Synergy on Windows so I won't be able to help a lot.

      From the process list, can you make guesses about what is happening ? Maybe :

      • the ccm start commands never returns ? (ie there is a problem with session starting)
      • the ccm start commands returns but the ccm stop commands was never send (ie there is a problem with the Hudson plugin on closing the session ?)
        Maybe you can try to:
      • updgrade your Hudson version (the Synergy process is launched using the Hudson API, and there has been some changed on the process handling, have a look at the Hudson changelog)
      • sent the process list to the Synergy support to get a guess of the problem

      Hope this helps

      1. Unknown User (cecom)

        I updated to the latest hudson version but the problem isn't solved completely.

        There is one strange thing that we discovered. Our hudson configuration:

        • 5 projects, with there own synergy releases
        • 1 project triggers the other fours
        • 2 hudson build prozessors

        There were 2 builds in the queue, both builds were hanging. I could only identify the following processes:

        >/home/user>ps |grep ccm
        3663 25520 user ? /usr/local/ccm/bin/ccm start -d /ccmdb/eBBi -h bach -n ebbibuild -nogui -m -q -pw xxxx -rc
        3683 3663 user ? /usr/local/ccm/bin/util/ccm_ci -d /ccmdb/eBBi -h bach -n ebbibuild -m -q -pw xxx -rc
        29011 28940 user pts/0 grep ccm

        I killed the 3683 prozess and the second build continued !?!?!?!? It looks like that this happens only if there are parallel builds.

        On my other projects (with CruiseControl), i never close a synergy session. Before i start, i check if a session for this project exists, if "yes" i use it, otherwise i start a new one. Is this an option?

        1. Unknown User (cecom)

          i tested it now over the last two days, but the problem is still there... so it doesn't matter if you use 2 Buildprozessors or 1.

  10. Unknown User (jhm)

    When having Synergy subprojects this plugin does not work.

    We have a project with the layout

       | some sources
      +-- directory
      +-- subprojects
             +-- <Subproject1>
             +-- <Subproject2>

    The workarea of the subprojects is relative to their parents.

    The problem is the update of the local workarea: Hudson does a
        ccm attr -m wa_path -v $HUDSON_HOME\jobs\$JOBNAME\workspace\$ROOTPROJECT -project $SUBPROJECT-$INSTANCE
    for each subproject. But the "ccm attr" kills the relative project structure.

    Using a "ccm wa" command instead would keep that structure.

    1. Unknown User (jhm)

      I havent found the place where the subproject is checked out into the ROOTPROJECTs directory.

      I have implemented a workaround: a set up a build before the "real" builder which moves the subprojects to their correct place.

  11. Unknown User (jhm)

    I just had a look at hudson.plugins.synergy.SynergyPluginImpl. According to the javadoc the start() method registers three extension. But I can only see two. Where is the Synergy Maven Reporter?

    Maybe the javadoc is not up to date ...

  12. Unknown User (cecom)


     i solved some problems and added new features:


    • Projects with Subprojects which were relative werent placed correct

    New features:

    • Copy Folder technique (new Option in the Post Build Part)
    • Abort the build if there are update Warnings
    • You can now configure if you want to replace subprojects or keep it (necessary if your subprojects have othere releases)
    • Reuse synergy session and dont close it (every hudson project has its own session) - solved my problems with "hanging builds"

    if you are interessted i can send it to you.

    1. Unknown User (santeri.vesalainen@gmail.com)

      New features:

      • Copy Folder technique (new Option in the Post Build Part)
      • Abort the build if there are update Warnings
      • You can now configure if you want to replace subprojects or keep it (necessary if your subprojects have othere releases)
      • Reuse synergy session and dont close it (every hudson project has its own session) - solved my problems with "hanging builds"

      if you are interessted i can send it to you.

      You have a patch-set? Why not sharing them into Hudson (synergy subcomponent) issue tracker?

      NEW/STARTED/REOPENED issues in Synergy Plugin:


      ALL issues in Synergy Plugin:


      I have feeling that this your "Reuse synergy session and dont close it" - patch might benefit also a bug/enhancement I have reported into issue tracker: https://hudson.dev.java.net/issues/show_bug.cgi?id=3565
      --> it would not waste resources in server-side either, I have understood that it opens a thread for each session in server-side also, and I am not fully convinced about server/client closing them automagically.

      Enhancement (3565) in nutshell.. synergy session start fails because the Client DB path is missing(vanishes somehow from ccm.ini) tried also ccm start -u in Windows XP and it seemed to work...

      1. Unknown User (jhm)

        Sounds very interesting. Have you thought commiting a patch?

        1. Unknown User (cecom)

          i will do that.

          1. Unknown User (cecom)

            i added the issues:

            here is a patch (PatchForIssue_3591_3592_3594_3595_3596) for these issues. The issue 3596 is not configurable. There would be to much code changes.Therefore if you add the patch it is enabled by default.

            @Jean-Noel RIBETTE sorry, but some classes were reformated :-8

            1. Unknown User (santeri.vesalainen@gmail.com)

              Thanks Jean-Noel Ribette for merging those patches and fixing basically all these:


               I finally managed to create a snapshot version from the plugin for testing Client DB Path (Bug/Enhancement), it seems that it also included merge-patch commits made by Jean-Noel. https://hudson.dev.java.net/nonav/issues/showattachment.cgi/715/synergy.hpi

               I consider that this would be good place for 1.5 release, or what do you think?

               I have some issues left for development : (1. need only developer role for building?; 2. disable auto-force workarea path attribute setting?) but I will make enhancement reports from those soon.

              1. Unknown User (cecom)

                i think he is waiting for final tests. but im currently on holiday, next week i will test it.

                1. Unknown User (cecom)

                  i tested the actual 1.5 snapshot version and it looks like, that everything works.

  13. Unknown User (bent)

    <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal

    Unknown macro: {mso-style-parent}

    a:link, span.MsoHyperlink

    color: Color value is invalid

    a:visited, span.MsoHyperlinkFollowed

    color: Color value is invalid

    @page Section1

    Unknown macro: {size}


    Unknown macro: {page}



    Does anybody know (or have a reference) how to configure the Synergy plugin in Hudson in a mixed environment?

    Hudson and a Synergy client are installed on Windows. The main Synergy 6.5 server is running on AIX.

    When Hudson executes the "build now" command, it returns a broken build and the log says:

    Warning: Database File /ccmdb/proj1/db/.../bin/dcm_transfer could not be copied to \\ccmdb\proj1\db\...\bin\dcm_transfer

    Warning: D....  


    There is no problem bringing up the Synergy client and to start a session, but for some reason Hudsonis trying to copy the database path to a weird destination.


    Any help is appreciated.

    1. Unknown User (cecom)

      in my test environment for this hudson plugin, i have the same setup (synergy client and hudson on windows, server on an aix) and i dont have this problems.  did tried to start a session and update via the ccm command?

  14. Unknown User (alookachaloo)

    Hi , I have this problem with synergy plugin

    I want to get the latest version of a particular project from synergy without mentioning the exact project version in Project name feild (version keeps on changing depending on the latest build by cruise control)

    for example when I am using : 4front-business-layer~4front-jul09-[version]

    as a project name every thing works fine.

    but if I use  4front-business-layer~4front-jul09 it doesnt recognize the project , is there any work around ?

    1. Unknown User (jhm)

      I set up a special project just for the CI build. Project version is fixed "CI", so here it would be 4front-business-layer~4front-jul09-CI.

      Synergy knows which files to update via the baseline, release and reconfigure templates.

  15. Unknown User (galet)


    is there a place for extending the plugin to NOT to build the project if the synergy task didn't modify any files?

    When a simple task is completed on a single project all my projects are built. This is caused by sharing a synergy release by multiple projects (I can not change it).

    Any suggestions? I can try to create a patch and contribute.

    1. Unknown User (jhm)

      I think this is not the job of the Hudson plugin - it is the job of your build skript.

      The plugin does not know to skip a build, just if you modify a doc-file. Maybe you want to generate a html version from that?

      The easiest way is to skip the build if no 'input files' have changed. (Ant: <javac>, <uptodate>, <modified>)

      1. Unknown User (galet)

        I use the Maven as a build tool and it would definitely made things hard to manage. The problem is that the build is triggered by polling the SCM, therefore the SCM plugin tells whether the build should be triggered. A new build number is created and then the build script is launched. I don't even want that build record in Hudson. What do you think? Is there any other way how to skip the build when there are no changes?

        1. Unknown User (jhm)

          I could think of a plugin which injects into a builder, checks a configurable condition and skips the execution of the builder. So this new plugin would work for all builders (Maven, Ant, Groovy, Shell, ...).

          1. Unknown User (galet)

            Thank you for your suggestions. However I found that this checking for modifications is tightly coupled with the SCM polling, so I decided to modify the plugin with yet another checkbox "Check for modifications". If enabled it will perform this checking logic in the polling execution.

            There is no significant impact on a polling performance. On my environment for those projects with the new tasks without any modifications the polling dropped down from 7s to 9s.

            The implementation is simple and I will be happy to provide a patch to this project or anyone with a similar problem.

            1. Unknown User (tiw3chlo)


              We have the same problem. Several synergy project are grouped in one synergy release and therefore a change in one of the projects triggers a build of all of them.

              Such a "Check for modifications" feature would be a great enhancement for the plugin.

            2. Unknown User (santeri.vesalainen@gmail.com)

              Please, do provide a patch like Sven did for example:


              Because they tend to get put into releases as well. ;) I hope they get into this next 1.6 along with other stuff. Because I work in project which has need also for this kind of feature possibility.

              1. Unknown User (galet)

                I have just created an issue https://hudson.dev.java.net/issues/show_bug.cgi?id=4904 with a patch attached. The patch is against 1.5 tag version. The integration to the trunk should be straightforward.

                1. Unknown User (jribette)

                  Hi Michal,

                  I've just applied your patch. Can you check the code in the Subversion suit your need ?

                  1. Unknown User (galet)

                    Thank you Jean-Noel, I have tried the trunk and it works fine.

  16. Unknown User (jhm)

    The current 1.6-snapshot version requires Build_Mgr access. The 1.5 does not.

    I think it would be better just to disable build-mgr-features if the plugin cant get this right instead of failing the whole build.

  17. Unknown User (santeri.vesalainen@gmail.com)

    Added enhancement request https://hudson.dev.java.net/issues/show_bug.cgi?id=4911 regarding the current behauviour of the plugin by leaving the workarea always ON after update.

    This should be at least an option to select whether user wants to leave eg. prep project Workarea on, or not, after update.

  18. Unknown User (dwcollins)

    We have a problem using the very latest code from the subversion repository (r 31109), the query that tries to determine product grouping (after updating the project, when determining the changelog) does the following:

    $ /opt/ccm64/bin/ccm project_grouping -show info "My ResourceManager/2.0.0 Collaborative Development Projects"
    resrcmgr_src-sol10_hudson $ /opt/ccm64/bin/ccm project_grouping -show info "My ResourceManager/2.0.0 Collaborative Development Projects"
    My ResourceManager/2.0.0 Collaborative Development Projects
    Collaborative Development

    $ /opt/ccm64/bin/ccm project_purpose -show "Collaborative Development"
    resrcmgr_src-sol10_hudson $ /opt/ccm64/bin/ccm project_purpose -show "Collaborative Development"

    Purpose Member Status Status
    Collaborative Development collaborative working

    $ /opt/ccm64/bin/ccm query -u -f %objectname "type='project_grouping' and release='ResourceManager/2.0.0' and member_status='Status' and subsystem='hudson'"
    resrcmgr_src-sol10_hudson $ /opt/ccm64/bin/ccm query -u -f %objectname "type='project_grouping' and release='ResourceManager/2.0.0' and member_status='Status' and subsystem='hudson'"

    There are 2 issues with this, the previous query that tried to determine the correct member_status value has parsed the first line of the response (and used the column header Status) instead of parsing the 2nd line and taking the value "working" which I believe it should.
    This is in Synergy 6.4 (yes, I know its practically desupported, try telling our management they have to actually upgrade things from time to time!) so possibly the syntax has changed in a later version, can anyone confirm that?

    Secondly, the query is using a subsystem of "hudson", which is the owner of the project. We don't use subsystems at all, but the current check (in generateChangeLog) uses either the owner of the project (if project is in working state) or "1"?? I don't understand what this is trying to do, the comment talks about instances, but its using subsystem??

    Currently our builds fail as soon as there are any changes, as the plugin can't find a valid project grouping that works. (sad)


    1. Unknown User (cecom)

      Here is the patch. It is working on my environment with Synergy/CM 6.4

       Index: src/main/java/hudson/plugins/synergy/impl/GetMemberStatusCommand.java
      --- src/main/java/hudson/plugins/synergy/impl/GetMemberStatusCommand.java	(revision 33992)
      +++ src/main/java/hudson/plugins/synergy/impl/GetMemberStatusCommand.java	(working copy)
      @@ -29,9 +29,9 @@
       			String line = reader.readLine();
       			int linecount = 0;
       			while (line!=null) {
      -				linecount++;
       				line = line.trim();
       				if (line.length()!=0) {
      +					linecount++;
       					if (linecount >= 2){
       						// Creates regexp to extract.
       						Pattern p = Pattern.compile("^.*\\S*\\s+(\\w+)\\s+\\w+\\s*$");
  19. Unknown User (roger-l@orbotech.com)


    Can someone help for detail the command the plugin uses in synergy for extract the changes details (change set and user and tasks files list) or how to extract this report from Hudson in text format (from xml api)

    The plugin give a very pleasant report I would like to get same report level to notify Build manager.


    Roger Layani

  20. Unknown User (james.kilbride@gd-ais.com)

    Does this support Synergy 7.1? Is there work still on going to support the newer version of synergy?

    1. Unknown User (rodrigolopes)

      I just found an issue using version Synergy 7.1:

      • When trying to find an existing session, the command 'ccm status' returns only sessions for the current OS logged user. It doesn't find any session, then creates a new one, but using the configured CM user. Next time, when it tries to find an existing user, it won't find again and will create a new session. This ends up with a new session on every new check for changes.

      workspace $ ccm status
      Sessions for user windows_user:

      No sessions found.

      Current project could not be identified.

      workspace $ ccm start -d /database/ccmdb/syn7 -h synergyota -n cm_user -nogui -m -q -pw ********

      1. Unknown User (bbarde2)

        Are you using Web-mode in Synergy 7.1?

        Have you tried connecting in 7.1 using the following start command:
        ccm start -d /database/path/database -s http://server:8400 -n synergyUser -pw ****** -nogui -m

        The major difference is the use of the -s server argument versus the -h host argument. The -s will use the web-mode client.

        We are using web-mode only and the start statement above works and also gives back the ccm status showing me as having a session.

        The command line interface for Synergy was somewhat re-written for 7.1 to use the new web-mode interface. For the current version 7.1 of the tool command line interface contains both the old command line and the new web-mode command line. It seems like they are going to be using migrating towards the web-mode version.
        New web-mode CLI: http://publib.boulder.ibm.com/infocenter/rsdp/v1r0m0/topic/com.ibm.help.download.synergy.doc/pdf71/help_cli_web.pdf

        1. Unknown User (rodrigolopes)

          We have the web mode, but the plugin is not ready for 7.1 version, so it does not use the -s option, only the -h
          The command above is the command generated by the Hudson Synergy plugin.

  21. Unknown User (cryan)

    Hey all,

    Does anyone know if the plugin can handle automatic task promotion?  i.e. if new tasks are detected, and the build successfully passes, then the new tasks are automatically added to the Integration Tested folder?



    1. Unknown User (cecom)

      you can use the "copy folder" action in the post build step of the plugin.

  22. Unknown User (tohnmeister)

    The changelog for 1.6 states "Improve change polling : if configured to do so, check change applies to the project and not only the release."

    How exactly do I deconfigure this? I just installed Jenkins. We have some subprojects and I actually want Jenkins to trigger on all changes in a release, even if it's in one of the subprojects. But it seems to ignore changes in those subprojects.

    Edit: Never mind, found the answer. It's the "Check for modifications" option in the project configuration.

  23. Unknown User (tohnmeister)

    We're having some problems using the plugin with Synergy 7.1 in web mode. We always used it in engine mode, but since we physically relocated the Jenkins machine to a different location, it seemed logical to start using web mode. So I changed the server name in the plugin from server.domain.com to http://server.domain.com:port. All the developers at the location are able to connect to Synergy without any problems, but Jenkins seems to have a problem running one of its queries.

    To be more precise: it checks for attribute 'is_relative' on all of the subprojects. In engine mode the output is:

    workspace $ "C:\Program Files\IBM\Rational\Synergy\7.1\bin\ccm" attr -s is_relative -project SomeProjectStringLeftOutInExample
    Attribute 'is_relative' does not exist on object 'SomeProjectStringLeftOutInExample'.

    But in web mode, the output is:
    workspace $ "C:\Program Files\IBM\Rational\Synergy\7.1\bin\ccm" attr -s is_relative -project SomeProjectStringLeftOutInExample
    ccm command failed
    Attribute is_relative does not exist on the object SomeProjectStringLeftOutInExample.

    In engine mode, Jenkins simply continues. In web mode, it fails. Any clue why the "ccm command failed" is triggered? There seems to be a slight difference also in that in engine mode the attribute is wrapped in '', while in web mode, it's not.

  24. Unknown User (florian_schindler)

    Under which licenses is this plugin?

  25. Unknown User (florian_schindler)

    For those who have issues with Synergy 7.1: I provided a patch. The patch is currently not on the master branch. See https://github.com/jenkinsci/synergy_scm-plugin/pulls  Fix issue when checking for conflicts in Synergy 7.1

  26. Unknown User (schnuffel)

    With newer Jenkinsversion like 1.612 and synergy-Plugin 1.7 the configuration of Post-Build-Action "create synergy baseline" with selecting one of the three radio-buttons isn't saved anymore into configuration. I googled and found https://github.com/jenkinsci/synergy_scm-plugin/pull/13 which solved it for me. When will be the next official update of the plugin. Is it rigth that https://github.com/jenkinsci/synergy_scm-plugin/pull/14 from Florian Schindler is a parallel version, that not includes Pull#13?