Azure Richiesta di Pull | Azure Devops - "È necessario fornire un valore di espressione che segue l'operatore"+"."

0

Domanda

Sto eseguendo questo file 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

Per assicurarsi che questo funziona bene, mi è passato il comando riportato di seguito nei commenti del nuovo PR:

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

Facendo questo, ho il seguente problema:

"È necessario fornire un valore di espressione che segue l'operatore"+"."

Qualcuno sa cosa posso fare per evitare questo tipo di messaggi di errore?

1

Migliore risposta

-2

Ho risolto il problema aggiungendo il seguente modello all'interno di my PR descrizione:

Descrizione Grazie per il tuo contributo al Bla Bla repo. Prima di presentare questo PR, si prega di accertarsi che:

  • [ ] Fix
  • [ ] Funzione
  • [ ] Grande

Nota: Se si desidera avere una terminologia diversa, sarà necessario modificare la regex parte. Come esempio:

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

Allo stesso tempo, sarà necessario apportare una modifica all'interno delle caselle di controllo che si è aggiunto all'interno della Richiesta di Pull per assicurarsi che sarà partita.

Ora, lo script funziona. Se volete vedere una guida per aggiungere semantic versioning al progetto, si dovrà guardare la guida del creatore link: https://www.moderndata.ai/2021/10/automatic-semantic-versioning-in-azure-devops-with-release-notes/. Guarda il problema principale che ho creato - $(System.PullRequest.SourceBranch) non trovato.

2021-11-24 20:07:00

Originale quest è un git commit di errore. Come fa la tua risposta risolvere il problema?
John Hanley

Aggiungere git commit messaggio per SemVer script di Powershell sono alcuni regex che posto le caselle di controllo per assicurarsi che si sarà in grado di dichiarare se la mia Richiesta di Pull sarà una Correzione, Funzione o Grande. Aggiungendo il modulo di cui sopra in PR Commenti risolto il problema
Hvaandres

Questa è la mia risposta, ho aggiunto il template per i miei commenti all'interno di my PR, e scegliere l'opzione di cui ho bisogno. Di leggere lo script, e vedrete che la regex è che ti chiede di caselle di controllo, e se si aggiungono quelli che sono all'interno del vostro PR commenti, si sarà in grado di giocare con questo script. Lo script di per sé non ha nulla di sbagliato, e non ho capito all'inizio, ma ora ho risolto e sto condividendo la guida che ho seguito
Hvaandres

In altre lingue

Questa pagina è in altre lingue

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