Lesson 15 of 18
Useful General and Runtime Action Properties
In this lesson
Roy Osherove goes through the properties of an action: the general tab sets its description, a color and comments, and the runtime tab can enable or disable it, ignore failure, pause after it, retry it when it fails and, for some actions, set a timeout. He also shows how to hide an action's output from the log, for example when it sets passwords, and output monitors, which fail an action when its output contains, or does not contain, a given string, which helps with processes that do not return a nonzero code on failure. Some actions can run as a different user, and a script in JavaScript, Python or PowerShell can set a condition under which the action runs.
Transcript
[00:02] (external link, opens in new tab) I want to talk about some important properties of actions. If I if I double click in action here, there is a there are runtime tabs and general tab. Let's talk about the general tab first. General tab allows you to set the action description, allows you to set the action specific color. So maybe it's easier to distinguish, for example, red. I press okay for that. it doesn't look so so different until I move myself out of it. But maybe if you have actions you want to put in a different color, you can set that here.
[00:34] (external link, opens in new tab) And you can even put comments here. That's basically it. The runtime tab is a bit more interesting. You can enable or disable. You can make it ignore failure. But you can also say that you can have a special pause after you run this action or if it fails to give it some retries and how much to spend between each retry. Some actions have timeouts, some have some do not.
[01:06] (external link, opens in new tab) It really depends on the amount of time that you want to set. I'm sorry. It means it depends on types of actions. Some actions have timeouts allowable and some some do not. Another interesting feature is that you can set default logging action output. For example, for this action, you might want to hide all the action to from the log. For example, if it's doing something secretive like setting stuff in passwords and stuff like that.
[01:38] (external link, opens in new tab) Or so you can suppress the log messages either to the file or to the live log. You can log all the values to a variable and then use that later to parse or do some interesting actions on your own log file. And you can also log the properties of the action if it's a complicated thing, you might want that extra information. And then you have this cool thing called output monitors. Output monitors allow you to listen to the output of the action.
[02:10] (external link, opens in new tab) For example, to search for anything with the word failure and make it case sensitive or anything and fail the action if you match if you find the match. So for example, if you're running a custom test runner or or if you're doing a custom process and the C process does not return zero does not return nonzero for failure but you still want to know when it failed. You know that it always outputs a specific string then you can look for that string and fail the action if that string is indeed found or you can fail if that string is not found or any of these things.
[02:49] (external link, opens in new tab) So it's pretty powerful to customize even for processes that are not perfectly designed for automation. Other than that we might have extra execution properties but not for this action. Some actions will allow you to run the action as a default user or as a different user. Change the credentials under which you're running. And you can even have subscripts running here in JavaScript or Python or PowerShell
[03:20] (external link, opens in new tab) That will only run this action if something is true based on anything. And you have full ability to have scripts just like we have scripts lower here which I haven't shown yet. But the idea is that you can have custom conditions and all the runtime environment of FinalBuilder is available for scripting. So you can have complicated things only do something if this is true or false.