代码之家  ›  专栏  ›  技术社区  ›  JDH

如果任务需要系统访问令牌,VSTS将验证并警告用户

  •  1
  • JDH  · 技术社区  · 6 年前

    在用户配置任务时,是否有任何方法可以警告用户此特定任务需要使用SYSTEM_ACCESSTOKEN变量?我在任务中添加了一个签入:

    if($env:SYSTEM_ENABLEACCESSTOKEN -eq $false){throw "OAuth Token Access not enabled! Set in the Agent Phase Options."}
    

    1 回复  |  直到 6 年前
        1
  •  1
  •   jessehouwing    6 年前

    任务不需要显式访问OAuth令牌。任务总是有特权的,可以通过VSTS任务SDK请求访问令牌。

    要访问restapi,请使用:

    $vssCredentials = Get-VstsVssCredentials
    $collectionUrl = New-Object System.Uri((Get-VstsTaskVariable -Name 'System.TeamFoundationCollectionUri'
    -Require))
    Add-Type -LiteralPath "$PSScriptRoot\Microsoft.TeamFoundation.Core.WebApi.dll"
    $projectHttpClient = New-Object Microsoft.TeamFoundation.Core.WebApi.ProjectHttpClient($collectionUrl,
    $vssCredentials)
    $projectHttpClient.GetProjects().Result
    

    另见:

    只有自定义脚本需要访问生成的用户令牌时,才需要访问OAuth令牌复选框。