使用 tfs api 连接到不同用户的 tfs
connect to tfs with different user by using tfs api
我正在尝试 运行 一个 shellscript 程序来使用 tfsapi 服务连接 tfs。
Jenkins 运行 登录用户,但我想将 tfs 连接到不同的用户(而不是 windows 登录用户)
如何将凭据添加到我的 powershell 代码中?我使用 UseDefaultCredentials 但需要使用不同的用户来连接 tfs。我该怎么做?
$tfsServerURL = "https://test.tfs.siemens.net/test"
$BuildDefinition = "test.rgs.project"
$URL = "$($tfsServerURL)"
#Get ID of Builddefinition
$buildDefinitionID = (Invoke-RestMethod -Uri ($URL + '/_apis/build/definitions?api-version=2.0&name=' + $BuildDefinition) -Method GET -UseDefaultCredentials).value.id
我们可以使用官方 Rest API: Definitions - List to get specific build definition with additional parameter name
. And this API supports Oauth2 authentication. However, OAuth 2.0 is not supported on Azure DevOps Server. So we need to use PAT authentication,最小范围如下:vso.build
.
因此,如果您想使用此 API 连接不同用户的 tfs,请提供他们相应的 PAT,然后下面的脚本应该可以正常工作。
$tfsServerURL = "https://test.tfs.siemens.net/test"
$BuildDefinition = "test.rgs.project"
$URL = "$($tfsServerURL)"
$connectionToken="PAT here"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$AzureDevOpsAuthenicationHeader = @{authorization = "Basic $base64AuthInfo"}
#Get ID of Builddefinition
$buildDefinitionID = (Invoke-RestMethod -Uri ($URL + '/_apis/build/definitions?api-version=5.0&name=' + $BuildDefinition) -Method GET -Headers $AzureDevOpsAuthenicationHeader).value[0].id
Write-host $buildDefinitionID
我正在尝试 运行 一个 shellscript 程序来使用 tfsapi 服务连接 tfs。
Jenkins 运行 登录用户,但我想将 tfs 连接到不同的用户(而不是 windows 登录用户)
如何将凭据添加到我的 powershell 代码中?我使用 UseDefaultCredentials 但需要使用不同的用户来连接 tfs。我该怎么做?
$tfsServerURL = "https://test.tfs.siemens.net/test"
$BuildDefinition = "test.rgs.project"
$URL = "$($tfsServerURL)"
#Get ID of Builddefinition
$buildDefinitionID = (Invoke-RestMethod -Uri ($URL + '/_apis/build/definitions?api-version=2.0&name=' + $BuildDefinition) -Method GET -UseDefaultCredentials).value.id
我们可以使用官方 Rest API: Definitions - List to get specific build definition with additional parameter name
. And this API supports Oauth2 authentication. However, OAuth 2.0 is not supported on Azure DevOps Server. So we need to use PAT authentication,最小范围如下:vso.build
.
因此,如果您想使用此 API 连接不同用户的 tfs,请提供他们相应的 PAT,然后下面的脚本应该可以正常工作。
$tfsServerURL = "https://test.tfs.siemens.net/test"
$BuildDefinition = "test.rgs.project"
$URL = "$($tfsServerURL)"
$connectionToken="PAT here"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$AzureDevOpsAuthenicationHeader = @{authorization = "Basic $base64AuthInfo"}
#Get ID of Builddefinition
$buildDefinitionID = (Invoke-RestMethod -Uri ($URL + '/_apis/build/definitions?api-version=5.0&name=' + $BuildDefinition) -Method GET -Headers $AzureDevOpsAuthenicationHeader).value[0].id
Write-host $buildDefinitionID