Azure Pull Request | Azure Devops - "Vous devez fournir une valeur de l'expression de l'opérateur"+"."

0

La question

Je suis actuellement à l'exécution de ce fichier yaml:

trigger:
- none
## notes 
pool:
  vmImage: ubuntu-latest

## Job to calculate semantic version
jobs:
  - job: CalculateVersion
    displayName: Semantic versioning
    
    steps:
      # Checkout with persist credentials
      - checkout: self
        persistCredentials: true

      # Install GitVersion
      - task: gitversion/setup@0
        displayName: Install GitVersion
        inputs:
          versionSpec: '5.x'

      # Retrieve Pull Request Description
      - task: PullRequestDescription@0
        name: RetrievePullRequestDescription
        displayName: Retrieve Pull Request description
        inputs:
          action: 'view'
          outputVariable: 'PullRequest.DescriptionContent'
          isOutput: true
          stripIdentifiers: false

      # Add git commit message that will be picked up by GitVersion ("+semver: patch/minor/major")
      # Depending on the Pull Request description, where the developer has marked the type of change
      - task: PowerShell@2
        displayName: Add git commit message for SemVer
        inputs:
          targetType: inline
          script: |
            Write-Host "Configuring git author info.." -ForegroundColor Cyan
          
            git config user.email "[email protected]"
            git config user.name "alan.haro"
            Write-Host "Doing git checkout..." -ForegroundColor Cyan
            git checkout -b $("$(System.PullRequest.SourceBranch)".replace('refs/heads/creating-git-tags', ''))
            Write-Host "Checking Pull Request description..." -ForegroundColor Cyan
            $PRdesc = "$(RetrievePullRequestDescription.PullRequest.DescriptionContent)"
            if ($PRdesc -match '(\[x\] \bFix\b)') {
              Write-Host "Adding git (empty) commit message to mark this branch as a 'patch' SemVer increment." -ForegroundColor Cyan
              git commit -a -m "+semver: patch [skip azurepipelines]" --allow-empty
            } elseif ($PRdesc -match '(\[x\] \bFeature\b)') {
              Write-Host "Adding git (empty) commit message to mark this branch as a 'minor' SemVer increment." -ForegroundColor Cyan
              git commit -a -m "+semver: minor [skip azurepipelines]" --allow-empty
            } elseif ($PRdesc -match '(\[x\] \bBig\b)') {
              Write-Host "Adding git (empty) commit message to mark this branch as a 'major' SemVer increment." -ForegroundColor Cyan
              git commit -a -m "+semver: major [skip azurepipelines]" --allow-empty
            } else {
              Write-Host "##vso[task.LogIssue type=error;]Please select the type of change in the Pull Request description, and Re-queue the validation." -ForegroundColor Cyan
              $PRdesc
              exit 1
            }
            Write-Host "Doing git push.." -ForegroundColor Cyan
            git push --set-upstream origin $("$(System.PullRequest.SourceBranch)".replace('refs/heads/', ''))
            Write-Host "Done." -ForegroundColor Cyan
          
      # Determine the semantic version & test test
      - task: gitversion/execute@0
        displayName: Determine SemVer

Pour s'assurer que cela fonctionne bien, j'aurai passé la commande suivante dans les commentaires du nouveau PR:

git commit -a -m "+'semver: minor [skip azurepipelines]'" --allow-empty

En faisant cela, j'ai le problème suivant:

"Vous devez fournir une valeur de l'expression de l'opérateur"+"."

Personne ne sait ce que je peux faire pour prévenir ce type de messages d'erreur?

1

La meilleure réponse

-2

J'ai résolu mon problème en ajoutant le modèle suivant à l'intérieur de mon PR description:

Description Je vous remercie pour votre contribution à l'Bla Bla repo. Avant de présenter ce RP, veuillez vous assurer que:

  • [Correctif ]
  • [ ] Fonction
  • [ ] Big

Remarque: Si vous souhaitez avoir une terminologie différente, vous devrez modifier la regex partie. À titre d'exemple:

 if ($PRdesc -match '(\[x\] \**bFix**\b)')

Dans le même temps, vous aurez à faire un changement à l'intérieur des cases à cocher que vous avez ajouté à l'intérieur de la Pull Request pour s'assurer qu'il va correspondre.

Maintenant, le script fonctionne. Si vous souhaitez voir un guide pour ajouter de la sémantique à la gestion des versions pour votre projet, vous allez avoir à consulter le guide du créateur de lien: https://www.moderndata.ai/2021/10/automatic-semantic-versioning-in-azure-devops-with-release-notes/. Regardez le principal problème que j'ai créé - $(Système d'.PullRequest.SourceBranch) pas trouvé.

2021-11-24 20:07:00

L'original de votre quête est un git commit l'erreur. Comment est-ce que votre réponse résoudre le problème?
John Hanley

Ajouter git commit message pour SemVer Powershell scripts ont quelques regex qui prendra en place les cases pour faire sûr que je vais être en mesure de déclarer que si ma Demande d'extraction sera un Correctif, Fonction ou Grand. En ajoutant le formulaire ci-dessus dans le PR-Commentaires résolu le problème
Hvaandres

C'est ma réponse, j'ai ajouté le modèle de mes commentaires à l'intérieur de ma RP, et de choisir l'option que j'ai besoin. Lire le script, et vous verrez que la regex est pour vous demander des cases à cocher, et si vous ajoutez des personnes à l'intérieur de votre PR des commentaires, vous serez en mesure de jouer avec ce script. Le script en lui-même n'a rien de mal, et je ne comprenais pas au début, mais maintenant j'ai résolu et je partage le guide que j'ai suivi
Hvaandres

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................