-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathUiPathOrchestratorRateLimitsCheck.ps1
More file actions
74 lines (56 loc) · 2.47 KB
/
UiPathOrchestratorRateLimitsCheck.ps1
File metadata and controls
74 lines (56 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
############# Input Parameters #############
$LocalRepositoryFolder = "*******EDIT*******"
# You can disable Debug and Information logs by commenting the next lines
$DebugPreference = 'Continue'
$InformationPreference = 'Continue'
#################################################
function GetAffectedProjectDetails
{
Param([System.String] $ProjectFolder, [System.String] $FileFilter, [System.Collections.ArrayList] $Markers)
$affectedProject = $Null
$affectedFiles = New-Object System.Collections.ArrayList
$xamlFiles = (Get-ChildItem -LiteralPath $ProjectFolder -Force -Recurse -Filter $FileFilter)
foreach($file in $xamlFiles)
{
$foundMarkers = New-Object System.Collections.ArrayList
$originalFileContent = Get-Content $file.FullName -Encoding UTF8 -Raw
foreach($marker in $Markers)
{
if ($originalFileContent -Match $marker)
{
Write-Warning "Found marker $($marker) in file: $($file.FullName)"
$foundMarkers.Add($marker) 1>$Null
}
}
if ($foundMarkers.Count -ne 0)
{
$affectedFile = New-Object PSObject
$affectedFile | Add-Member -NotePropertyName Path -NotePropertyValue $file.FullName
$affectedFile | Add-Member -NotePropertyName Markers -NotePropertyValue $foundMarkers
$affectedFiles.Add($affectedFile) 1>$Null
}
}
if ($affectedFiles.Count -ne 0)
{
$affectedProject = New-Object PSObject
$affectedProject | Add-Member -NotePropertyName Path -NotePropertyValue $ProjectFolder
$affectedProject | Add-Member -NotePropertyName AffectedFiles -NotePropertyValue $affectedFiles
}
return $affectedProject
}
#################### Execution Steps ##########################
$projectFiles = (Get-ChildItem -Path $LocalRepositoryFolder -Force -Recurse -Filter "project.json")
$projectFolders = $projectFiles.FullName | Split-Path -Parent
$Markers = @("<ui:GetJobs","<ui:GetQueueItems","GET/odata/Jobs","GET/odata/QueueItems/")
$affectedProjectFolders = New-Object System.Collections.ArrayList
foreach ($folder in $projectFolders)
{
$affectedProject = GetAffectedProjectDetails $folder "*.xaml" $Markers
if ($affectedProject -ne $Null)
{
$affectedProjectFolders.Add($affectedProject) 1>$Null
}
}
#Sample Json output
#$affectedProjectFolders | ConvertTo-Json -Depth 5
#######################################################