85 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: DingTalk ActionCard Notification
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|     inputs:
 | |
|       webhook_url:
 | |
|         description: "钉钉机器人 Webhook URL"
 | |
|         required: true
 | |
|         type: string
 | |
|       mode:
 | |
|         description: "ActionCard 模式 (single 或 multiple)"
 | |
|         required: true
 | |
|         type: choice
 | |
|         options:
 | |
|           - "single"
 | |
|           - "multiple"
 | |
|         default: "single"
 | |
|       title:
 | |
|         description: "消息标题"
 | |
|         required: true
 | |
|         default: "示例 ActionCard 标题"
 | |
|         type: string
 | |
|       content:
 | |
|         description: "消息内容"
 | |
|         required: true
 | |
|         default: "这是一个手动触发的 ActionCard 示例消息"
 | |
|         type: string
 | |
|       single_title:
 | |
|         description: "单按钮标题 (single 模式)"
 | |
|         required: false
 | |
|         default: "查看详情"
 | |
|         type: string
 | |
|       single_url:
 | |
|         description: "单按钮链接 (single 模式)"
 | |
|         required: false
 | |
|         default: "https://example.com"
 | |
|         type: string
 | |
|       btn_orientation:
 | |
|         description: "按钮排列方向 (multiple 模式,'0'=垂直, '1'=水平)"
 | |
|         required: false
 | |
|         default: "0"
 | |
|         type: string
 | |
|       buttons:
 | |
|         description: "多按钮 JSON 数组 (multiple 模式)"
 | |
|         required: false
 | |
|         default: |
 | |
|           [
 | |
|             {"title": "查看工作流", "actionURL": "https://example.com/workflows"},
 | |
|             {"title": "查看仓库", "actionURL": "https://example.com/repo"}
 | |
|           ]
 | |
|         type: string
 | |
| 
 | |
| env:
 | |
|   DINGTALK_WEBHOOK: ${{ github.event.inputs.webhook_url }}
 | |
| 
 | |
| jobs:
 | |
|   send-actioncard:
 | |
|     runs-on: ubuntu-latest
 | |
|     name: 发送 ActionCard 消息
 | |
|     steps:
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
| 
 | |
|       - name: 单按钮 ActionCard (single)
 | |
|         if: ${{ github.event.inputs.mode == 'single' }}
 | |
|         uses: ./
 | |
|         with:
 | |
|           webhook_url: ${{ env.DINGTALK_WEBHOOK }}
 | |
|           message_type: actionCard
 | |
|           title: ${{ github.event.inputs.title }}
 | |
|           content: ${{ github.event.inputs.content }}
 | |
|           single_title: ${{ github.event.inputs.single_title }}
 | |
|           single_url: ${{ github.event.inputs.single_url }}
 | |
| 
 | |
|       - name: 多按钮 ActionCard (multiple)
 | |
|         if: ${{ github.event.inputs.mode == 'multiple' }}
 | |
|         uses: ./
 | |
|         with:
 | |
|           webhook_url: ${{ env.DINGTALK_WEBHOOK }}
 | |
|           message_type: actionCard
 | |
|           title: ${{ github.event.inputs.title }}
 | |
|           content: ${{ github.event.inputs.content }}
 | |
|           btn_orientation: ${{ github.event.inputs.btn_orientation }}
 | |
|           buttons: ${{ github.event.inputs.buttons }}
 |