Azure Pull Request | Azure Devops - "musíte zadat hodnotu výrazu následující" + " operátora."

0

Otázka

Já jsem v současné době běží tento yaml souboru:

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

Aby se ujistěte se, že to běží dobře, budu muset prošel následující příkaz v komentářích od nového PR:

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

Tím, že dělá to, mám následující problém:

"Musíte zadat hodnotu výrazu následující" + " operátora."

Ví někdo, co ještě mohu udělat, aby se zabránilo tento druh chybové zprávy?

1

Nejlepší odpověď

-2

Já jsem vyřešil můj problém přidáním následující šablonu uvnitř mého PR popis:

Popis Děkuji vám za váš příspěvek k Bla Bla repo. Před podáním tohoto PR, prosím, ujistěte se, že:

  • [ ] Fix
  • [ ] Funkce
  • [ ] Velké

Poznámka: Pokud byste chtěli mít různou terminologii, budete muset změnit regex část. Jako příklad:

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

Ve stejné době, budete muset provést změnu uvnitř políčka, které jste přidali uvnitř Vytáhněte Žádost, aby ujistěte se, že to bude odpovídat.

Nyní, skript pracuje. Pokud byste chtěli vidět průvodce přidat sémantické verzování pro váš projekt, budete muset podívejte se na průvodce tvůrce odkaz: https://www.moderndata.ai/2021/10/automatic-semantic-versioning-in-azure-devops-with-release-notes/. Podívejte se na hlavní problém, který jsem vytvořil - $(System.PullRequest.SourceBranch) č. nalezen.

2021-11-24 20:07:00

Původní quest je git commit chyba. Jak se vaše odpověď problém vyřešit?
John Hanley

Přidat git commit zprávy pro SemVer Powershell skripty mají nějaký regulární výraz, který bude mít v místě políčka, aby se ujistěte se, že budu moci prohlásit, pokud moje Žádost Pull bude Fix, Funkce nebo Velký. Přidáním formuláři výše, v PR-Komentáře vyřešil problém
Hvaandres

To je moje odpověď, přidal jsem šablonu pro mé komentáře uvnitř mého PR, a zvolte možnost, která potřebuji. Četl scénář, a uvidíte, že regex se tě ptát na políčka, a pokud přidáte těch uvnitř vašeho PR připomínky, budete moci hrát s tímto skriptem. Skript sám o sobě nemá nic špatného, a nechápala jsem to na začátku, ale teď jsem vyřešil a já jsem sdílení, průvodce, který jsem sledoval
Hvaandres

V jiných jazycích

Tato stránka je v jiných jazycích

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