public/Get-FootballRumour.ps1
function Get-FootballRumour { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [Object]$Header, [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$Path, [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string]$Token ) process{ $ErrorActionPreference = 'Stop' try { # Invoke rumour rest method $Uri = "https://api.sportmonks.com/v3/football/transfer-rumours?api_token=$Token&include=player;type;fromTeam;toTeam;position" $RumoursResponse = Invoke-RestMethod $Uri -Method 'GET' -Headers $Header # Create directry New-Directory -Path "$Path\temp\rumours" Remove-Item -Path "$Path\temp\rumours\*" -Recurse -Force -Confirm:$false -Verbose -ErrorAction Stop foreach ($Rumour in $($RumoursResponse.data)) { # Player $Player = $($Rumour.player) # Position $Position = $($Rumour.position) # From team $SourceTeam = $($Rumour.fromTeam) # To team $DesinationTeam = $($Rumour.toTeam) # Type $Type = $($Rumour.type) $PredictionObject = [PSCustomObject]@{ RumourId = $($Rumour.id) Amount = $($Rumour.amount) Born = $($Player.date_of_birth) Currency = $($Rumour.currency) Date = $($Rumour.date) From = $($SourceTeam.name) Player = $($Player.name) Position = $($Position.name) Probability = $($Rumour.probability) Source = $($Rumour.source_name) To = $($DesinationTeam.name) Type = $($Type.Name) } $TemplatePath = "$Path\git-hub\sportsmonk-api\templates\rumours.txt" $Template = Get-Content -Path $TemplatePath -Raw -ErrorAction Stop $Template = $Template.Replace('<Date>', $($PredictionObject.Date)) $Template = $Template.Replace('<Source>', $($PredictionObject.Source)) $Template = $Template.Replace('<Probability>', $($PredictionObject.Probability)) $Template = $Template.Replace('<Player>', $($PredictionObject.Player)) $Template = $Template.Replace('<Born>', $($PredictionObject.Born)) $Template = $Template.Replace('<From>', $($PredictionObject.From)) $Template = $Template.Replace('<To>', $($PredictionObject.To)) $Template = $Template.Replace('<Type>', $($PredictionObject.Type)) $Template = $Template.Replace('<Amount>', $($PredictionObject.Amount)) $Template = $Template.Replace('<Currency>', $($PredictionObject.Currency)) $Template = $Template.Replace('<Position>', $($PredictionObject.Position)) $PathToUse = "$Path\temp\rumours\$($Rumour.date)-$($Rumour.id)-$($Type.Name)-rumours.txt".ToLower() Set-Content -Path $PathToUse -Value $Template -Verbose -ErrorAction Stop } # foreach } catch { throw "$($MyInvocation.MyCommand.Name): $_.Exception.Message" } # try catch } # function } # process |