Send notifications from GitHub Actions to Google Chat
See gh-39761
This commit is contained in:
		
							parent
							
								
									e67e6bbb02
								
							
						
					
					
						commit
						c1b15cd367
					
				| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
name: Send notification
 | 
			
		||||
description: Sends a Google Chat message as a notification of the job's outcome
 | 
			
		||||
inputs:
 | 
			
		||||
  webhook-url:
 | 
			
		||||
    description: 'Google Chat Webhook URL'
 | 
			
		||||
    required: true
 | 
			
		||||
  build-scan-url:
 | 
			
		||||
    description: 'URL of the build scan to include in the notification'
 | 
			
		||||
runs:
 | 
			
		||||
  using: composite
 | 
			
		||||
  steps:
 | 
			
		||||
    - shell: bash
 | 
			
		||||
      run: |
 | 
			
		||||
        echo "BUILD_SCAN=${{ inputs.build-scan-url == '' && ' [build scan unavailable]' || format(' [<{0}|Build Scan>]', inputs.build-scan-url) }}" >> "$GITHUB_ENV"
 | 
			
		||||
    - shell: bash
 | 
			
		||||
      if: ${{ success() }}
 | 
			
		||||
      run: |
 | 
			
		||||
        curl -X POST ${{ inputs.webhook-url }} -H 'Content-Type: application/json' -d '{ text: "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|spring-boot-${{ github.ref_name }} ${{ github.job }} was successful> ${{ env.BUILD_SCAN }}"}'
 | 
			
		||||
    - shell: bash
 | 
			
		||||
      if: ${{ failure() }}
 | 
			
		||||
      run: |
 | 
			
		||||
        curl -X POST ${{ inputs.webhook-url }} -H 'Content-Type: application/json' -d '{ text: "<users/all> *<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|spring-boot-${{ github.ref_name }} ${{ github.job }} failed>* ${{ env.BUILD_SCAN }}"}'
 | 
			
		||||
    - shell: bash
 | 
			
		||||
      if: ${{ cancelled() }}
 | 
			
		||||
      run: |
 | 
			
		||||
        curl -X POST ${{ inputs.webhook-url }} -H 'Content-Type: application/json' -d '{ text: "<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|spring-boot-${{ github.ref_name }} ${{ github.job }} was cancalled>"}'
 | 
			
		||||
| 
						 | 
				
			
			@ -36,6 +36,7 @@ jobs:
 | 
			
		|||
      - name: Stop Docker service
 | 
			
		||||
        run: Stop-Service -name Docker
 | 
			
		||||
      - name: Build
 | 
			
		||||
        id: build
 | 
			
		||||
        env:
 | 
			
		||||
          CI: 'true'
 | 
			
		||||
          GRADLE_ENTERPRISE_URL: 'https://ge.spring.io'
 | 
			
		||||
| 
						 | 
				
			
			@ -43,3 +44,9 @@ jobs:
 | 
			
		|||
          GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }}
 | 
			
		||||
          GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
 | 
			
		||||
        run: ./gradlew build
 | 
			
		||||
      - name: Send notification
 | 
			
		||||
        uses: ./.github/actions/send-notification
 | 
			
		||||
        if: always()
 | 
			
		||||
        with:
 | 
			
		||||
          webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}
 | 
			
		||||
          build-scan-url: ${{ steps.build.outputs.build-scan-url }}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue