FSTrigger Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID fstrigger Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
0.38
Aug 06, 2013
1.410
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Gregory Boissinot (id: gbois)
Usage Installations 2013-Apr 1025
2013-May 1057
2013-Jun 1116
2013-Jul 1161
2013-Aug 1164
2013-Sep 1201
2013-Oct 1302
2013-Nov 1301
2013-Dec 1257
2014-Jan 1401
2014-Feb 1410
2014-Mar 1477

FSTrigger provides polling mechanisms to monitor a file system and trigger a build if a file or a set of files have changed.

Features

The plug-in makes it possible to monitor changes of a file or a set of files in a folder.

Note: The plug-in uses only persistence in memory. There is no impact on the Jenkins infrastructure (no new files created).
This plugin provides a polling typology among the XTrigger Plugin.

1) Polling a set of files in a folder

For the first use case, we trigger a build if the list of files has changed between 2 pollings:
A build is triggered in the following situations:

  • there are more or fewer files
  • the last modified date of at least one file has changed
  • the content of at least one file has changed

2) Polling a file in a folder

For the second use case, we monitor a file from a path.
The file path can be provided either explicitly or with a GLOB.

A build is triggered in the following situations:

  • The file exists and it didn't exist in the previous polling
  • The file no longer exists whereas it existed in the previous polling
  • The last modification date of the file has changed compared to the previous polling
  • The content of the file has changed

For the latest choice, the content file detection can be:

  • the full content in a file (whatever the file type)
  • the modification of values from XPath expressions in an XML file
  • the modification of the structure or the content in a JAR or in ZIP file
  • the modification of the structure or the content in a TAR file.
  • the modification of a property (or all properties) in a properties file
  • the modification of an attribute (or all attributes) in the MANIFEST.NF of a JAR file
  • the modification of an attribute (or all attributes) in a source MANIFEST.NF
  • the presence of a pattern in a text file (such as a log file)

Some use cases

1. Scheduling a build if a specified file is found in a folder and was not present in the previous build

2. Scheduling a build if the last modification date of a file has changed compared to the last modification file date captured in the previous polling

3. Avoiding explicit jobs dependencies (with upstream/downstream mechanisms)

  • A first job 'jobA' polls a SCM tool and schedules a build if there is at least one change.
    The build instantiates a build process, produces artifacts (binaries, text output, ...) and deploys these artifacts in a target filesystem.
  • A second job 'jobB' checks the existance of the new artifacts in the target filesystem. If there is a change, 'jobB' is scheduled.
    'jobB' may provide packaging steps, testing steps or other steps of a pipeline.

Both jobs are independents and listen external events.

Other similar plugins

* If you want just to know if a set of files exists and display the number of files found, you can use Files Found Trigger plugin.

Known Limitations

The current code is written in Java and it is not very optimized. For example, we can't get similar performance as with Python. Therefore, we recommend to not use FSTrigger plugin when you want to poll a directory with a large set of files.

Changelog

Release 0.38

* Fix issue #17591 - FSTrigger fails to poll when build node labels change

Release 0.37

* Fix issue #18658 - NPE in FSTrigger upon configuration save

Release 0.36

* Fix issue #17641 - Unknown field 'logEnabled' in org.jenkinsci.lib.xtrigger.XTriggerCause

Release 0.35

* Fix issue #16809 - Plugins FSTrigger/Envinject, NPE while loading jobs
** Update to xtrigger-lib 0.20
** Update to envinject-lib 1.17

Release 0.34

* Fix NullPointerException on polling action
* Upgrade to envinject-lib 1.11
* Upgrade to xtrigger-lib 0.18

Release 0.33

* Fix potential NullPointer exception at startup (envinject-lib 1.8/ xtrigger-lib 1.5)

Release 0.32

* Upgrade to xtrigger-lib 0.14 (more logs)

Release 0.31

* Fix issue #12176 - Unable to delete a job that has a fstrigger
* Upgrade to xtrigger-lib 0.13

Release 0.30

* Fix reponed issue #12924 - FSTrigger triggers builds on jenkins restart

Release 0.29

* Fix issue #12924 - FSTrigger triggers builds on jenkins restart

Release 0.28

* Update to xtrigger-lib 0.8 (fix issue #12888)

Release 0.27

* Fix issue #12865 - ERROR - SEVERE - Polling error Current Project is null from FSTrigger

Release 0.26

* Update to xtrigger-lib 0.7

Release 0.25

* Add the choice of check content, last modification date or a change in the size of files for folder content type
* Update to xtrigger-lib 0.6

Release 0.24

* For 'Folder type', add check with new directories

Release 0.23

* Fix issue #12208 - More information in log file

Release 0.22

* Fix issue #12168 - Monitor files - Does not monitor a unix soft link

Release 0.21

* Add check 'A job is not triggered when Jenkins is quieting down and is not buildable'

Release 0.20

* Fix reoponed issue #12073 - fstrigger plugin download didn't pull in dependency envinject

Release 0.19

* Fix issue #12073 - fstrigger plugin download didn't pull in dependency envinject
* For 'monitor folder' type, the last modification date is checked before a content check

Release 0.18

* Environment variables are taken into account

Release 0.17

* Fix issue #11569 - Enhanced help for includes

Release 0.16

* Fix issue #11567 - unhandled FileNotFountException

Release 0.15

* Add check for configuration page
* Built for 1.409 (compatible LTS)

Release 0.14

* Fix bug on save when no content nature is selected for FileNameTrigger

Release 0.13

* Fix empty includes value for 'Folder trigger type'

Release 0.12

* Fix path resolution for Windows - Merge pull request from vinaynaik

Release 0.11

* Add the ability to monitor more than one file.

Release 0.10.1

* Add an help message for the update center.

Release 0.10

* Remove named regular expression (unusual)
* Refactoring

Release 0.9 (technical release)

* Internationalizing some messages

Release 0.8

* Fix a bug for XML Content type
* Added help messages for end users.

Release 0.7

* Add Tar monitoring capabilities
* Fix a regression on the last modification date check

Release 0.6

* Fix check on last modification date

Release 0.5

* Polling is done on slaves if configured

Release 0.4

* Remove the usage of regular expression for the file name to poll

Release 0.3

* Internal Refactoring
* Add 'Poll the content of an XML File' regarding XPath expressions.

Release 0.2

* Add a page for displaying polling log

Release 0.1

* Initial release

Labels

Edit
plugin-trigger plugin-trigger Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Add Comment