Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create a workspace from Powershell run within VS Team Services build

I am writing a Powershell script as part of a Visual Studio Team Services build, this build uses a hosted build controller. The script is intended to check out a file, make changes then check it back in.

In the script I am trying to invoke the tf command to create a new workspace but I'm having authentication issues. The command

& $tf vc workspace /new $tempWorkspaceName /collection:https://mycollection.visualstudio.com/ 

produces the error:

TF30063: You are not authorized to access https://mycollection.visualstudio.com/.

How can I access TFS from my Powershell script without embedding logins or passwords in the script? Can I access TFS within the context of the build agent, which itself logs in to TFS? Or is there another way I should be doing this?

Note that I haven't used the TFS Power Tool cmdlets as it is a hosted build server. Using the TFS RestAPI also doesn't appear to be an option as there is no facility to check a file in or out.

like image 930
slugster Avatar asked Nov 22 '16 01:11

slugster


People also ask

How do I create a PowerShell script using Visual Studio code?

PowerShell Extension Once you install the extension, you can create a new PowerShell script by pressing Ctrl+N and then saving it as a PS1 file using Ctrl+S . Once it is saved as a PS1, VS Code will identify the file as a PowerShell script. From there, you can execute the PowerShell script by press F5 .

Can you write PowerShell in Visual Studio?

Visual Studio Code with the PowerShell extension is the recommended editor for writing PowerShell scripts. It supports the following PowerShell versions: PowerShell 7.0 and higher (Windows, macOS, and Linux)


1 Answers

  1. Check Allow Scripts to Access OAuth Token option of your build defition enter image description here
  2. Append /noprompt /loginType:OAuth /login:.,$(System.AccessToken) to your TF command (arguments)

About TF Command, you can check this article.

like image 161
starian chen-MSFT Avatar answered Sep 19 '22 12:09

starian chen-MSFT