I have created a task/fixlet that uses the REST API to automatically generate a baseline. My next step is to create a second action that will automatically create the baseline, and then automatically deploy it to test machines to achieve “AutoPatching”.
The core of this is basically a session relevance query that returns the set of fixlet objects you wish to deploy which feeds into more session relevance that takes a set of fixlet objects and turns it into the XML required for baseline components. This session relevance is completely generic and will work to create baseline components out of any Fixlet or Task, though right now it is currently made to only work with Fixlets / Tasks with default actions. It could be easily changed to work with either the default action or Action1 if there is no default action.
This is the relevance that turns a plural fixlet object result into the pieces needed to construct a baseline component xml:
(name of it, not success on run to completion of default action of it, url of site of it, id of it, content id of default action of it, script type of default action of it, script of default action of it, (if (success on custom relevance of it) then "CustomRelevance" else if (success on original relevance of it) then "OriginalRelevance" else if (success on run to completion of it) then "RunToCompletion" else "") of default action of it, (if (not success on custom relevance of it) then "" else (custom success relevance of it)) of default action of it, relevance of it) of ...
This is not in the XML form, but it is everything that must be placed within the xml to create the it.
The ... above must be replaced with a session relevance statement that returns the fixlets/tasks desired.
I now have autopatching working fully from start to finish in the case of firefox updates/patches provided by IBM.
I need to refine my code a bit, document it, and make some parts a bit more generic before I can post it all, but there are bits and peices of it on BigFix.Me already.
Now that I have this completed for a particular case, my plan is to then expand it out to include other products other than just firefox.
That really depends on what you are trying to do, but as far as the concept goes, this is a “finished product” you can download: https://bigfix.me/fixlet/details/6132 (just have to login)
It will auto generate a baseline. I do have code to then auto deploy it, but not published.
I do need to put in some more work to really make it a finished piece, but right now I’m working on auto patching apps, not the OS. I’ll switch back to the OS later.
There is someone working on a UI built around this, and BigFix is looking to build something into the product to do this as well, but probably not based upon my work.
I was able to download your automatic baseline creation fixlet and successfully execute it to create a baseline. I’m looking for a way to automatically scheduled the deployment of the baseline to multiple groups. I see you mentioned a while back you had the code to auto deploy the baseline but is not published. Is that something you can share?