Powershell with Bamboo

I am trying to use PowerShell scripts as part of a custom build job. The PS script is started but never ends. I have read that PS can't be called directly from Bamboo. I did get this to work using a batch file to launch PowerShell but this seems a poor solution.

12 answers

1 accepted

This widget could not be displayed.

I set up Powershell as a command, and ran it with the following arguments

-command "echo do-your-commands" < NUL

The < NUL is the key part.

Legend!!! Adding " < NUL" to the end fixed it for me. Thanks!!

You can also run script files as follows:

-NonInteractive -ExecutionPolicy Unrestricted -File C:\Path-to\Script.ps1 "arg" arg

I have found this solution is less reliable with Bamboo 5.1. Instead I've created a small bat file which is where my 'powershell' executable now points to. It contains:

REM http://serverfault.com/questions/437504/why-does-psexec-hang-after-successfully-running-a-powershell-script
SET ps=C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
C:\Windows\System32\cmd.exe /c "echo . | %ps% -NonInteractive -ExecutionPolicy Unrestricted -File D:\%1.ps1 %2 %3 %4 %5 %6"

Then I have a number of powershell scripts in the same folder including an all-purpose one called Exec.ps1 which contains:

param([string]$command)
#replacement for -command "some-power-shell-stuff" &lt; NUL
invoke-expression $command

This widget could not be displayed.

How are you currently starting PS?

This widget could not be displayed.

Does it work if you use Script Task and set the Inline Script to:

c:\path\to\Powershell.exe YourScript

?

This widget could not be displayed.

I created a task with PowerShell as the executable. My script is the argument. When the Plan is run I can see that PowerShell is launched against my script. But the Plan never exits.

This widget could not be displayed.

I'm having the same issue. The powershell task doesn't exit, either using a command task, or a script task.

This widget could not be displayed.
Joe Clark Atlassian Team Oct 04, 2011

I've never tried integrating Powershell with Bamboo before, but have you tried adding an explicit "exit" command at the end of your PS script to force the console to close?

Yes, I've tried exit 0 and exit -1, but in both cases the task kept running.

Joe Clark Atlassian Team Oct 04, 2011

Blarg, that's disappointing :-(

This widget could not be displayed.
Joe Clark Atlassian Team Oct 04, 2011

Some suggestions on stackoverflow, although none of them seem especially convincing: http://stackoverflow.com/questions/2041799/powershell-script-gets-stuck-doesnt-exit-when-called-from-batch-file

This widget could not be displayed.

How about:

start c:\path\to\powershell

?

start /wait

?

This did run the script, however the Bamboo task started and finished basically instantly, and there was no log output or anything.

Same result: Instant task completion and no log of any kind, although the script did execute.

This widget could not be displayed.

I tried creating a batchfile (see below) where the argument is the PS script file. This works but task completes before the script does. The department seems heavily invested in Powershell but I'd be open to hearing other scripting solutions.

C:\Windows\System32\cmd.exe /c "echo aaa | C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe %*"

This widget could not be displayed.

you can just run:

E:\>powershell -command "& {YourPSCommand}"

E:\>powershell -command "& {get-childitem}"

This widget could not be displayed.

Hi,

Still have issues getting error codes returned to bamboo. I have created a batch file and configure it as a global command:

C:\Windows\System32\cmd.exe /c "echo aaa | C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe %*; exit $LASTEXITCODE"

But still no exitcode in sight - any hints?


This widget could not be displayed.

Hi guys,

You are welcome to check out the PowerShell Task plugin for Bamboo! It handles all nasty stuff and lets you just create and run PowerShell scripts without a hassle.

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Published 6 hours ago in Marketplace Apps

The 7 hacks of highly successful automation

...there's anything I've learnt from working, it's that people are lazy! No offense to anyone reading this, but it's true and we can all admit it. The easier you make something for someone, the more...

39 views 0 8
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you