Azure Cerere de tragere | Azure Devops - "Tu trebuie să furnizeze o valoare de expresie următoarele" + " de operator."

0

Problema

Eu sunt în prezent rulează acest 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

Pentru a asigura acest lucru funcționează bine, va trebui sa trecut la următoarea comandă în caseta de comentarii de la noul PR:

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

Făcând acest lucru, nu va avea următoarea problemă:

"Trebuie să furnizați o valoare de expresie următoarele" + " de operator."

Nimeni nu știe ce altceva pot face pentru a preveni acest tip de mesaje de eroare?

1

Cel mai bun răspuns

-2

Mi-am rezolvat problema prin adăugarea următoarelor șablon în interiorul meu PR descriere:

Descriere Vă mulțumesc pentru contribuția dumneavoastră la Bla Bla repo. Înainte de a prezenta acest PR, vă rugăm să asigurați-vă că:

  • [ ] Fix
  • [ ] Caracteristică
  • [ ] Mare

Notă: Dacă doriți să aveți o terminologie diferită, va trebui să modificați regex parte. Ca un exemplu:

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

În același timp, va trebui să facă o schimbare în interiorul casetele de selectare care le-ați adăugat în interiorul Cerere de tragere pentru a vă asigura că se va potrivi.

Acum, script-ul este de lucru. Dacă doriți să vedeți un ghid pentru a adăuga semantic versiunilor pentru proiectul dvs., va trebui să te uiți la ghidul de creatorul link-ul: https://www.moderndata.ai/2021/10/automatic-semantic-versioning-in-azure-devops-with-release-notes/. Uita-te la principala problemă pe care am creat - $(Sistem.PullRequest.SourceBranch) nu a fost găsit.

2021-11-24 20:07:00

Original quest este un git comite o eroare. Cum răspunsul a rezolva problema?
John Hanley

Adaugă git commit mesaj pentru SemVer Powershell script-uri au un regex care va avea în loc casetele de selectare pentru a face sigur că va fi capabil să declare dacă-mi Cerere de tragere va fi un Fix, Caracteristică sau Mare. Prin adăugarea formularul de mai sus în PR-Comentarii rezolvat problema
Hvaandres

Asta e raspunsul meu, am adăugat șablon pentru comentariile mele în PR, și alegeți opțiunea care am nevoie. Citit scenariul, și veți vedea că regex cere pentru casetele de selectare, și dacă adăugați cei din PR comentarii, vă va fi capabil să se joace cu acest script. Script-ul în sine nu are nimic rău, și n-am înțeles de la început, dar acum am rezolvat si eu sunt de partajare ghid pe care l-am urmat
Hvaandres

În alte limbi

Această pagină este în alte limbi

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