-
Notifications
You must be signed in to change notification settings - Fork 0
52 lines (40 loc) · 1.85 KB
/
oca-slack-issue-opened.yaml
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
name: On OCA Issue Opened
on:
issues:
types:
- opened
jobs:
labelling_messaging:
name: 'Add a label on creation: oca-issue then send a message to Slack'
runs-on: ubuntu-latest
steps:
# - name: Get event payload
# shell: pwsh
# run: |
# Write-Host '${{ toJSON(github.event) }}'
- name: Get checkpoints
id: checkpoint
shell: pwsh
run: |
$isOcaParticipant = "${{ contains(secrets.OCA_PARTICIPANTS, github.event.issue.user.login) }}"
echo "::set-output name=isOcaParticipant::$isOcaParticipant"
- name: Add a label
if: ${{ steps.checkpoint.outputs.isOcaParticipant == 'true' }}
shell: pwsh
run: |
$headers = @{ "Authorization" = "token ${{ secrets.GITHUB_TOKEN }}"; "User-Agent" = "OCA Bot"; "Accept" = "application/vnd.github.v3+json" }
$issueId = "${{ github.event.issue.number }}"
$labelsToAdd = "oca-issue" -split ","
$body = @{ "labels" = $labelsToAdd }
$url = $("${{ github.event.repository.issues_url}}".Replace("{/number}", "/$issueId")) + "/labels"
Invoke-RestMethod -Method Post -Uri $url -Headers $headers -Body $($body | ConvertTo-Json)
- name: Send a message to Slack
if: ${{ steps.checkpoint.outputs.isOcaParticipant == 'true' }}
shell: pwsh
run: |
$url = "${{ secrets.OCA_SLACK_WEBHOOK_URL }}"
$iconUrl = "${{ secrets.OCA_SLACK_WEBHOOK_ICON_URL }}"
$channel = "${{ secrets.OCA_SLACK_CHANNEL }}"
$text = "New Issue #${{ github.event.issue.number }}, ${{ github.event.issue.title }}, has been opened! :point_right: <${{ github.event.issue.html_url }}|View Issue>"
$body = @{ "channel" = $channel; "username" = "AzFuncOpenApiBot"; "icon_url" = $iconUrl; "text" = $text; }
Invoke-RestMethod -Method Post -Uri $url -Body $($body | ConvertTo-Json)