I mostly use the built-in functionality to set a tag on a specific commit after a successful release. However, in this case I was contacted by a colleague who was using the Git Tag task.
Unfortunately, he couldn’t get the task working. A look at the build log made it obvious what the problem was:
Starting: GitTag
==============================================================================
Task : Git Tag
Description : A simple task that tags a commit
Version : 7.0.0
Author : ATP P&I IT
Help : tags the current commit with a specified tag. ### Prerequisites * Repository must be VSTS Git. * Allow scripts to access Oauth must be **Enabled** * Project Collection Build Service must have **Contribute** & **Create Tag** set to **Allow** or **Inherit Allow** for that particular repository
==============================================================================
Current commit is 6b28989d56aff87d2a555f5cfe94560398c7710e
##[error]OAuth token not found. Make sure to have 'Allow Scripts to Access OAuth Token' enabled in the build or release definition.
Also, give 'Project Collection Build Service' 'Contribute' and 'Create Tag' permissions - Cog -> Version Control -> {Select Repository/ies}
Finishing: GitTag
Before the task could interact with our Git repo in Azure DevOps it needs to have the necessary credentials. Therefore, it should have access to an OAuth token. This OAuth token is not available by default and should be explicitly enabled in the pipeline:
- Click on the Phase that contains the GitTag task
- Scroll down to the Additional Options and check the box next to ‘’Allow scripts to access the OAuth token”.
That’s it!
Remark: Don’t forget that you have a built-in alternative that could be a good fit in most cases.