---
title: "Useful General and Runtime Action Properties"
url: "https://courses.osherove.com/courses/automating-all-the-things-with-finalbuilder/useful-general-and-runtime-action-properties.md"
canonical: "https://courses.osherove.com/courses/automating-all-the-things-with-finalbuilder/useful-general-and-runtime-action-properties/"
tags: []
author: "Roy Osherove"
description: "Lesson 15 of 18 in Automating All the Things with FinalBuilder (Advanced Customization), 3:47. Free video by Roy Osherove."
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Useful General and Runtime Action Properties

1. [Courses](https://courses.osherove.com/#courses)
2. [Automating All the Things with FinalBuilder](https://courses.osherove.com/courses/automating-all-the-things-with-finalbuilder/)
3. Advanced Customization

Lesson 15 of 18

Duration: 3:47 [Watch on YouTube](https://www.youtube.com/watch?v=o7RkfxLGWb0)

## 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

584 words

[\[00:02\]](https://www.youtube.com/watch?v=o7RkfxLGWb0&t=2s) 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\]](https://www.youtube.com/watch?v=o7RkfxLGWb0&t=34s) 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\]](https://www.youtube.com/watch?v=o7RkfxLGWb0&t=66s) 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\]](https://www.youtube.com/watch?v=o7RkfxLGWb0&t=98s) 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\]](https://www.youtube.com/watch?v=o7RkfxLGWb0&t=130s) 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\]](https://www.youtube.com/watch?v=o7RkfxLGWb0&t=169s) 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\]](https://www.youtube.com/watch?v=o7RkfxLGWb0&t=200s) 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.

[Previous lesson Invoking Other FinalBuilder Projects](https://courses.osherove.com/courses/automating-all-the-things-with-finalbuilder/invoking-other-finalbuilder-projects/) [Next lesson Custom Action Scripts in Powershell & Javascript](https://courses.osherove.com/courses/automating-all-the-things-with-finalbuilder/custom-action-scripts-in-powershell-and-javascript/)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
