如何使gittag在管道中工作? (找不到## [error] OAuth令牌)

时间:2020-07-23 18:57:08

标签: git oauth-2.0 devops

我有一个构建,测试和发布解决方案的管道。

我有管道在工作,现在我希望它做一个git标签。

我正在使用git tag任务。

它列出了以下先决条件:

  • Windows /托管代理。
  • 存储库必须是VSTS Git。
  • 必须启用允许访问Oauth的脚本。
  • 对于该特定存储库,“项目集合构建服务”必须将“贡献和创建标签”设置为“允许”或“继承允许”

我能够找到对Create Tag的许可,并且被允许。

我找不到Contribute权限。

这是YAML任务。

- task: GitTag@2
  displayName: Tag Repo to $(AssemblyInfo.AssemblyInformationVersion)
  inputs:
    tag: $(AssemblyInfo.AssemblyInformationalVersion)
    forceTagCreation: true
  env:
    Systems_AccessToken: $(System.AccessToken)

AssemblyInfoReader产生$(AssemblyInfo.AssemblyInformationalVersion)的地方。

被告知要添加以下几行。

  env:
    Systems_AccessToken: $(System.AccessToken)

我收到以下错误代码。

##[error]OAuth token not found. Make sure to have 'Allow Scripts to Access OAuth Token' enabled in the build definition.

我尝试过的

我找到了DevOps>组织设置> OAuth配置(https://dev.azure.com/~MyOrg~/_settings/organizationOverview

我在此面板上找不到任何文档,无法知道我正在设置什么或如何将其链接到此解决方案。我在这个组织中还有其他几种解决方案。

我能够将构建管理员设置为允许Create Tag

我需要回答以下问题:

  • “贡献”权限在哪里?
    • 我该如何设置?
  • 如何设置Oauth以允许访问?

其他信息

将syagem_accesstoken添加到变量

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'
  system_accesstoken: $(System.AccessToken)

有关env Systems_AccessToken的用法,请参见上面的GetTag任务。

我已经创建了PAT,但是看不到如何将其连接到Systems_Access令牌。

这说明了如何在bash或PowerShell中use a PAT进行操作。没有对YAML的引用。

在“组织设置”中

“组织设置”>“策略”将“通过OAuth访问第三方应用程序”设置为“开”。

Organization Settings>Policies

中所示

我是Azure管道的新手,可以使用图形化构建来解决旧的解决方案。

0 个答案:

没有答案