when one of the deployment tasks failed after certificate renewal, I can no longer run deployment tasks manually. When a deployment task has failed, it sets the status of the certificate to failed blocking all scripts.
Logfile entry when starting script manually:
2020-08-05 11:03:52.274 +02:00 [INF] Task [CTW-CopyCert2Queue] :: Task is enabled but will not run because primary request unsuccessful.
The GUI however shows a popup telling the deployment script ran without errors.
Thanks, you can edit your deployment task to also be able to run on any request status - the default is On Success. Technically (pedantically?) as the task is configured to specifically only run on success then having it return a non-failed results when asked to run is correct, because it has correctly decided not to run. Thatās confusing, I know, perhaps the play button should force it to run regardless of the task configurationā¦
I mostly agree. I realized rather quickly thatās what was happening when I ran into it, but in the back of my mind I also thought that maybe it should have just done it anyways if I was manually pressing a button to do it. It seemed more counter-intuitive than confusing. Manually changing it to run anyways, pressing the button and changing it back seemed backwards in comparison.
Ah, so manual start honors the ārun task even if previous task step failedā setting? I assumed this was only checked during normal execution, never really thought about turning it on for manual start.
Maybe you could add a dialog, asking to continue running a task manually when the request status is not succesfull?
Even after allowing the script to run on success and error, it still didnāt work as expected. The script is started but my code checks $result.IsSuccess, which is set to false since last full run failed, so nothing gets executedā¦
How about a āreset statusā button on the main tab? After fixing any problems after last run, you can then start any deployment scripts without having to do a full renewal.
Possibly in the future, but currently weāll stick to only considering the current status as āSuccessā if the last request was successful, just to keep it simple.