Creating a Cron Job with GitHub Actions
O
Ohidur Rahman Bappy
MAR 22, 2025
Creating a Cron Job with GitHub Actions
In this guide, you'll learn how to set up a cron job using GitHub Actions to automate tasks and schedule regular operations.
How to Set Up a Cron Job
GitHub Actions allows you to schedule jobs at regular intervals using cron syntax. Below is an example configuration for a cron job that runs every 15 minutes.
name: 15-minute-cron
on:
  schedule:
    - cron: '*/15 * * * *'
jobs:
  cron:
    runs-on: ubuntu-latest
    steps:
      - name: Call our API route
        run: |
          curl --request POST \
          --url 'https://yoursite.com/api/cron' \
          --header 'Authorization: Bearer ${{ secrets.YOUR_API_KEY }}'
Explanation of the Workflow
- name: This defines the name of your workflow. In this example, it's 15-minute-cron.
- on.schedule: This uses cron syntax to set the schedule. */15 * * * *means the job will run every 15 minutes.
- jobs.cron.runs-on: Specifies the environment for the job. Here, it's set to ubuntu-latest.
- steps: This section defines what the job will do. In this case, it makes a POSTrequest to an API endpoint.
Using Secrets
The Authorization: Bearer ${{ secrets.YOUR_API_KEY }} header uses a GitHub secret to keep your API key secure. Be sure to set this up in your GitHub repository under Settings > Secrets.
Conclusion
With this setup, you can leverage GitHub Actions to automate tasks and keep processes running smoothly with minimal manual intervention. Cron jobs are a powerful way to maintain and streamline your workflow.