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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 29 Next »

Plugin Information

View Flexible Publish on the plugin site for more information.

Features
Install
Import existing publishers
Caveats
Change log

Features

Always use Always

If you always add your Post-build Actions to Flexible publish, then not only will you be able to change the execution order afterwards, but you will have the ability to temporarily disable a publisher without losing the publishers' configuration.
You can just switch between the Always and the Never run conditions.

Install

This plugin can be installed from the Update Center (Manage Jenkins > Manage Plugins) under "Other Post-Build Actions".

To install manually, download the latest plugin from http://mirrors.jenkins-ci.org/plugins/flexible-publish/ and use the Upload Plugin option in the Advanced tab of the Plugin Manager.
If you do install manually, you will need to also install the Run Condition Plugin from http://mirrors.jenkins-ci.org/plugins/run-condition/ and the Token Macro Plugin from http://mirrors.jenkins-ci.org/plugins/token-macro/.

Import existing publishers

In Manage Jenkins/ Script console, copy the following to see which publishers can be moved (for a job named 'My Job')

import static org.jenkins_ci.plugins.flexible_publish.JobUpdater.*

def job = hudson.model.Hudson.instance.getItem('My Job')
list job

Or, if you like doing it the hard way ...

org.jenkins_ci.plugins.flexible_publish.JobUpdater.list(hudson.model.Hudson.instance.getItem('My Job'))

You should see a list something like this

Result: Enabled publishers that can be moved:
	[Publish Checkstyle analysis results]
	[Publish FindBugs analysis results]
	[Publish PMD analysis results]
	[Publish duplicate code analysis results]
	[Scan for compiler warnings]
	[Scan workspace for open tasks]
	[Publish combined analysis results]
	[Archive the artifacts]
	[Publish JUnit test result report]
	[Publish Javadoc]
	[Record fingerprints of files to track usage]
	[Git Publisher]
	[Send build artifacts over FTP]
	[Send build artifacts over SSH]
	[Send build artifacts to a windows share]

Enabled publishers that cannot be moved:
	[Aggregate downstream test results]
	[Build other projects]
	[Record Emma coverage report]
	[Report Violations]
	[E-mail Notification]

You can move a publisher into Flexible publish

import static org.jenkins_ci.plugins.flexible_publish.JobUpdater.*

def job = hudson.model.Hudson.instance.getItem('My Job')
movePublisher job, 'Publish JUnit test result report'

After moving one or more publishers, go to the configure page, check everything looks ok, then save the configuration.

If you like to live on the edge, and would like to move all of the publishers in one go, then ...

import static org.jenkins_ci.plugins.flexible_publish.JobUpdater.*

def job = hudson.model.Hudson.instance.getItem('My Job')
moveAllPublishers job

Caveats

Grain of salt

Wiki Markup
Almost every publisher I have tried works without issue.

The two exceptions are
(error) Build other projects - excluded from selection
(error) Trigger parametrized build on other projects (Parametrized Trigger plugin) issue:JENKINS-12418
(info) Record fingerprints of files to track usage/Fingerprint all archived artifacts. If you Archive the artifacts from within the Flexible publisher, then the files you want to fingerprint will need to be listed explicitly as the fingerprinter will not find the archiver where it is expecting it!

  • Some publishers may not be prepared to run more than once during a build
  • Some publishers may expect to always run before or always run after another publisher
  • Not all publishers are available for inclusion in the Flexible publish action. Dev note:- Specifically, the publisher must use a DataBoundConstructor to be available.
  • The Flexible publish action is not (yet) available for Matrix builds
  • Some publishers state that they should only run after the build has been finalized - when the build status is known, and cannot be modified. The Flexible publish action does not enforce this restriction.

Change log

0.7 (14/11/2011)

  • Mark the build as a failure if an action would have stopped the build

0.6 (12/11/2011)

  • Add some utility methods to allow publishers to be moved into Flexible publish from the script console
  • Don't allow "Build other projects" in the Flexible publish - it does not work here
  • Do not allow the actions to prevent other publishers from running (unless they throw an exception)

0.5 (11/11/2011)

  • Changed the EP interface

0.4 (11/11/2011)

  • Add extension to enable the list of publishers to be modified

0.3 (10/11/2011)

  • Updated a help file

0.2 (09/11/2011)

  • Enable the user to choose what will happen if the evaluation of a condition fails

0.1 (07/11/2011)

  • Initial release

Questions, Comments, Bugs and Feature Requests

Please post questions or comments about this plugin to the Jenkins User mailing list.
To report a bug or request an enhancement to this plugin please create a ticket in JIRA.

  • No labels