瀏覽代碼

chore(notify-discord): enhance Discord notification workflow with improved embed structure and added file change listing functionality

Mathias 1 月之前
父節點
當前提交
3043e3022e
共有 1 個文件被更改,包括 53 次插入8 次删除
  1. 53 8
      .github/workflows/notify-discord.yml

+ 53 - 8
.github/workflows/notify-discord.yml

@@ -1,17 +1,62 @@
-name: Discord notification
+name: Discord Notification
 
 on:
   push:
-    branches: [master]
   workflow_dispatch:
-
 jobs:
-  build:
+  Discord:
     runs-on: ubuntu-latest
+    name: Discord Notifier
+    #if: "contains(github.event.head_commit.message, '[skip ci]')"
     steps:
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 0  # OR "2" -> To retrieve the preceding commit.
+      - name: Get changed files
+        id: changed-files
+        uses: tj-actions/changed-files@v34
+        with:
+          separator: "----------------------"
+      - name: List all changed files
+        run: |
+          for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
+            echo "$file was changed"
+          done
+      - uses: benjlevesque/short-sha@v2.1
+        id: short-sha
+        with:
+          length: 7
+      - run: echo $SHA
+        env: 
+          SHA: ${{ steps.short-sha.outputs.sha }}
+      - run: echo $SHA
+        env: 
+          SHA: ${{ env.SHA }}
       - name: Discord notification
         env:
-          DISCORD_WEBHOOK: ${{secrets.DISCORD_RELEASE_WEBHOOK}}
-          DISCORD_EMBEDS:
-            '[{ "title":"${{github.event.head_commit.message}}", "footer":{"text":"Pushed by ${{github.event.head_commit.author.name}}"} }]'
-        uses: Ilshidur/action-discord@0.3.2
+          DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
+          DISCORD_AVATAR: 'https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png'
+          DISCORD_EMBEDS: '[    { 
+          "author": {  "icon_url": "https://avatars.githubusercontent.com/${{ github.actor }}", "name": "${{ github.actor }}", "url": "https://github.com/${{github.actor}}" },
+          "url": "https://github.com/${{github.repository}}/commit/${{github.sha}}",
+          "fields": [
+          { "name": "Repository", "value": "[${{github.event.repository.name}}](${{github.event.repository.clone_url}})", "inline": true },
+          { "name": "Branch", "value": "[${{github.ref_name}}](https://github.com/${{github.repository}}/tree/${{github.ref_name}})", "inline": true },
+          { "name": "Event", "value": "${{github.event_name}}", "inline": true },
+          { "name": "Job", "value": "${{github.job}}", "inline": true },
+          { "name": "Commit Message", "value": "[${{ env.SHA }}](https://github.com/${{github.repository}}/commit/${{github.sha}}) - `${{github.event.head_commit.message}}`" },
+          { "name": "Changed Files", "value": "${{ steps.changed-files.outputs.all_changed_files }}" },
+          { "name": "Author", "value": "[${{github.event.head_commit.author.name}}](https://github.com/${{github.actor}})" }
+          ],
+          "color":1127128,
+          "timestamp": "${{github.event.head_commit.timestamp}}",
+          "footer":{"text": "${{github.event.head_commit.timestamp}}"}
+          }    ]'
+        uses: Ilshidur/action-discord@master
+      - name: echo
+        run: | 
+          echo ${{github.event_name}}
+
+# https://stackoverflow.com/a/68068674/19395252
+# https://birdie0.github.io/discord-webhooks-guide/structure/embeds.html
+# https://github.com/marketplace/actions/changed-files