-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PSA.PSA.ps1
36 lines (25 loc) · 1.4 KB
/
PSA.PSA.ps1
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
# 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'
if ($isMergeToMain) {
$psaModule = Get-Module PSA
$FixedIntro = "PSA : PSA version $($psaModule.Version) is out."
$RandomComponent = "Automate the At Protocol", "Automate your Announcements"
$fullMessage = "$FixedIntro $($RandomComponent | Get-Random) with PowerShell"
Send-AtProto -Text $fullMessage -WebCard @{
Url = "https://github.com/StartAutomating/PSA"
}
return
}