从Github服务连接获取OAuth令牌

时间:2020-10-29 10:41:56

标签: azure-devops

我在Azure Devops中有一个OAuth github服务连接。 我需要通过管道建立的OAuth连接来调用Github API。

有什么方法可以从管道中获得为此目的的令牌?

例如:

# How do I get the pipeline token so I can use it here.
$Token = $(MyToken)
$Headers = @{Headers = @{Authorization = "Basic $([System.Convert]::ToBase64String([char[]]$Token));'Accept'        = 'application/vnd.github.v3+json'" } }
$res = Invoke-RestMethod -Uri 'https://api.github.com/rate_limit' @Headers 
$res.resources

结帐流程显然使用基本令牌。 我该如何做而不创建任务。


git config gc.auto 0
git config --get-all http.https://github.com/MyOrg/MyRepoName.extraheader
git config http.version HTTP/1.1
git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules origin

如果我需要Azure Devops令牌,请按照this使用 System.AccessToken 变量。 我有点想要这个,但是有一个服务连接。 (理想情况下,它应与OAuth终结点一起使用,如下面的图片和Azure Pipelines应用程序集成所示)

Oauth connection

1 个答案:

答案 0 :(得分:0)

如果使用PowerShell,则可以使用VstsTaskSdk Module,然后使用Get-VstsEndpoint方法。

例如:

$endpoint = Get-VstsEndpoint -Name $serviceName -Require
$token = $endpoint.Auth.Parameters.accessToken