DevOpsHandling/Get-RepositoryId.ps1

function Get-RepositoryId {
    Param (
        [Parameter(Mandatory=$true)]
        [string]$devOpsOrganization,
        [Parameter(Mandatory=$true)]
        [string]$devOpsProjectName,
        [Parameter(Mandatory=$false)]
        [string]$repositoryName,
        [Parameter(Mandatory=$true)]
        [string]$devOpsToken
    )

    $repos = (Invoke-AzureDevOpsApi -url ('https://dev.azure.com/{0}/{1}/_apis/git/repositories' -f $devOpsOrganization, $devOpsProjectName) -devOpsToken $devOpsToken)

    if ($repositoryName -ne '') {
        $id = ($repos.value | Where-Object name -like ('*{0}*' -f $repositoryName)).id
    }
    else {
        $id = $repos.value.item(0).id
    }

    if ($id -eq '' -or $null -eq $id) {
        $id = Get-RepositoryId -devOpsOrganization $devOpsOrganization -devOpsProjectName $devOpsProjectName -repositoryName '' -devOpsToken $devOpsToken
    }

    return $id
}
Export-ModuleMember Get-RepositoryId