...
1function MapLanguageName($language)
2{
3 $lang = $language
4 # Update language name to match those in API cosmos DB. Cosmos SQL is case sensitive and handling this within the query makes it slow.
5 if($lang -eq 'javascript'){
6 $lang = "JavaScript"
7 }
8 elseif ($lang -eq "dotnet"){
9 $lang = "C#"
10 }
11 elseif ($lang -eq "java"){
12 $lang = "Java"
13 }
14 elseif ($lang -eq "python"){
15 $lang = "Python"
16 }
17 else{
18 $lang = $null
19 }
20 return $lang
21}
22
23function Check-ApiReviewStatus($packageName, $packageVersion, $language, $url, $apiKey)
24{
25 # Get API view URL and API Key to check status
26 Write-Host "Checking API review status"
27 $lang = MapLanguageName -language $language
28 if ($lang -eq $null) {
29 return
30 }
31 $headers = @{ "ApiKey" = $apiKey }
32 $body = @{
33 language = $lang
34 packageName = $packageName
35 packageVersion = $packageVersion
36 }
37
38 try
39 {
40 $response = Invoke-WebRequest $url -Method 'GET' -Headers $headers -Body $body
41 if ($response.StatusCode -eq '200')
42 {
43 Write-Host "API Review is approved for package $($packageName)"
44 }
45 else
46 {
47 Write-Warning "API Review is not approved for package $($packageName). Release pipeline will fail if API review is not approved."
48 Write-Host "You can check http://aka.ms/azsdk/engsys/apireview/faq for more details on API Approval."
49 }
50 }
51 catch
52 {
53 Write-Warning "Failed to check API review status for package $($PackageName). You can check http://aka.ms/azsdk/engsys/apireview/faq for more details on API Approval."
54 }
55}
View as plain text