-
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
enhancement: Adding EZOut PSA (Fixes #190)
- Loading branch information
1 parent
0bd377f
commit 4aaf211
Showing
1 changed file
with
54 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# Any *.PSA.ps1 file will be run when PSA runs. | ||
|
||
# A good thing to do at the start of this file is to connect. | ||
|
||
Connect-BlueSky | ||
|
||
# If $env:AT_PROTOCOL_HANDLE or $env:AT_PROTOCOL_EMAIL is set, it will be treated as the username | ||
# If $env:AT_PROTOCOL_APP_PASSWORD is set, it will be treated as the App Password. | ||
# _Never_ use your actual BlueSky password | ||
|
||
# Once we're connected, we can do anything our app password allows. | ||
|
||
# However, you _might_ want to output some information first, so that you can see you're connected. | ||
|
||
Get-BskyActorProfile -Actor $env:AT_PROTOCOL_HANDLE -Cache | Out-Host | ||
|
||
# To ensure you're not going to send a skeet on every checkin, it's a good idea to ask what GitHub is up to | ||
|
||
# There will be a variable, $GitHubEvent, that contains information about the event. | ||
|
||
# A fairly common scenario is to perform an annoucement whenever a PR is merged. | ||
|
||
$isMergeToMain = | ||
($gitHubEvent.head_commit.message -match "Merge Pull Request #(?<PRNumber>\d+)") -and | ||
$gitHubEvent.ref -eq 'refs/heads/main' | ||
|
||
Push-Location ($PSScriptRoot | Split-Path) | ||
|
||
$importedModule = Import-Module .\EZOut.psd1 -Global -PassThru | ||
$importedModule | Out-Host | ||
$moduleAndVersion = "$($importedModule.Name) $($importedModule.Version)" | ||
|
||
$isManuallyTriggered = $gitHubEvent.psobject.properties["inputs"] | ||
|
||
if ($isMergeToMain -or $isManuallyTriggered) { | ||
|
||
$fullMessage = @( | ||
$importedModule.PrivateData.Taglines | Get-Random | ||
|
||
"$($importedModule.PrivateData.PSData.ProjectURI)" | ||
) -join [Environment]::NewLine | ||
|
||
$sendSplat = [Ordered]@{ | ||
Text = $fullMessage | ||
} | ||
if ($importedModule.PrivateData.PSData.ProjectURI) { | ||
$sendSplat.WebCard = @{Url=$importedModule.PrivateData.PSData.ProjectURI} | ||
$sendSplat.LinkPattern = @{$importedModule.Name=$importedModule.PrivateData.PSData.ProjectURI} | ||
} | ||
|
||
Send-AtProto @sendSplat | ||
} | ||
|
||
Pop-Location |