What are the different types of events that can trigger a GitHub Actions workflow?

Beginner

Answer

GitHub Actions supports various trigger events:

Repository Events:

  • push: Code pushed to repository
  • pull_request: PR opened, synchronized, or closed
  • release: Release published or created
  • create: Branch or tag created
  • delete: Branch or tag deleted

Scheduled Events:

  • schedule: Cron-based scheduling using cron syntax

Manual Events:

  • workflow_dispatch: Manual trigger with optional inputs
  • repository_dispatch: Triggered via API calls

External Events:

  • webhook: Custom webhook events
  • check_run: Check run completed
  • deployment: Deployment event

Example:

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]
  schedule:
    - cron: '0 2 * * *'  # Daily at 2 AM
  workflow_dispatch: