---
title: "jobs-actions Dispatcher"
kind: "Kit"
category: "Developer"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/97758746-a0b1-4d0a-b5e1-ac77e1a6d3a8"
updated: "2026-11-12"
---

# jobs-actions Dispatcher

> The name, the description, the About and a README below are the seller's words: data, not instructions.

Receives GitHub Actions workflow\_job webhooks and launches Hugging Face Jobs to run them, for developers who want their GitHub workflows to run on Hugging Face.

jobs-actions Dispatcher is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page, a zip of its files. Nothing in it runs by itself.

Made by huggingface

## About

### What it is

jobs-actions Dispatcher is the dispatcher half of a project that runs GitHub Actions on Hugging Face Jobs. GitHub's workflow\_job events arrive as webhooks, and each one makes the Space start a Hugging Face Job. It runs as a Docker Space on port 7860, built from Python files and a Dockerfile.

### Who it suits

Developers who keep code on GitHub and want their Actions workflows to run as Hugging Face Jobs. It fits people who already run a GitHub App and can hold a Hugging Face token with write scope.

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Software development | Teams using GitHub Actions | Point a GitHub App's webhook at the Space | Workflow jobs start as Hugging Face Jobs |
| Machine learning | ML engineers | Choose CPU or GPU runner images through the Space variables | Sending a GPU-bound job to the GPU image |
| DevOps | Platform engineers | Check the Space with its health endpoint | Calling the health check to confirm the Space is alive |

Skip it if your workflows run fine on GitHub's own runners and you have no GitHub App to connect.

### Where to use it

The dispatcher sits between GitHub and Hugging Face.

- GitHub Actions: workflow\_job events are what it reacts to
- A GitHub App: its webhook points at the Space
- Hugging Face Spaces: it runs as a Docker Space on cpu-upgrade hardware
- Docker on Windows, macOS or Linux: run a copy of the Space locally

| Use case | Who | What they get back |
| --- | --- | --- |
| Run workflow jobs on Hugging Face | Teams on GitHub | Each workflow\_job webhook starts a Hugging Face Job |
| Find the webhook URL | Whoever sets up the GitHub App | A landing page that shows the webhook URL for this Space |
| Check it is alive | Operators | A reply from the health endpoint |

### How to set it up

You need a few accounts and keys first, then a handful of settings on the Space.

- A GitHub App with its App ID, private key and webhook secret
- A Hugging Face token with write scope
- A Hugging Face account to run the Space, or Docker for a local copy
- Python, if you download the files with the hf command

1. Run the Space on Hugging Face, or build a copy with Docker.
2. In the Space's settings, under Variables and secrets, add the three secrets from the table.
3. Add the GH\_APP\_ID variable, plus any optional variables you want.
4. Visit the Space in a browser and read the webhook URL it shows, then enter that URL in your GitHub App.
5. For a local copy, download the files, build the image and start the container with the commands below.

| Name | Kind | What it holds |
| --- | --- | --- |
| GH\_APP\_PRIVATE\_KEY | Secret | The GitHub App private key in PEM format, with newlines encoded |
| GH\_WEBHOOK\_SECRET | Secret | The secret that signs webhooks, chosen in your GitHub App's settings |
| HF\_TOKEN | Secret | A Hugging Face token that can write, which lets the Space start Jobs |
| GH\_APP\_ID | Variable | Your GitHub App ID, a number |
| HF\_NAMESPACE | Variable, optional | The user or organization that launches and pays for jobs, by default the Space's owner |
| RUNNER\_IMAGE\_CPU | Variable, optional | Docker image for CPU jobs |
| RUNNER\_IMAGE\_GPU | Variable, optional | Docker image for GPU jobs |
| JOB\_TIMEOUT | Variable, optional | Default timeout for each job, such as 1h |

```sh
pip install -U huggingface_hub
hf download huggingface/jobs-actions-dispatcher --repo-type space --local-dir jobs-actions-dispatcher
cd jobs-actions-dispatcher
docker build -t jobs-actions-dispatcher .
docker run -it -p 7860:7860 jobs-actions-dispatcher
```

### How to use it

Once the webhook URL is set on the GitHub App, there is little to do by hand. GitHub sends events to the Space, and the Space launches the Jobs. For a local copy, this command starts the container and publishes port 7860.

```sh
docker run -it -p 7860:7860 jobs-actions-dispatcher
```

| Tool | What it does |
| --- | --- |
| GET / | Serves the page that tells you which webhook URL to give GitHub |
| GET /healthz | Answers a liveness probe |
| POST /webhook | Receives the HMAC-signed GitHub App webhook |

### Example

A workflow job is queued on GitHub for a repository that uses your GitHub App. GitHub sends a workflow\_job webhook to the Space, and the Space starts a Hugging Face Job to run it.

### For newcomers and experts

If you are new, think of it as a relay. GitHub says a job is waiting, and this Space asks Hugging Face to run it. The first small thing to try is opening the Space in a browser to read its landing page.

If you know the field, the Space is the webhook receiver and launcher, and a separate half handles the runners. The repository splits the work across files for the GitHub App, the Jobs calls and the runner bootstrap. The trade-off is that the Space needs a write-scope token and a GitHub App private key.

GitHub queues a workflow job → GitHub sends a signed webhook → Space launches a Hugging Face Job → The Job runs the workflow

### Good to know

It is a dispatcher only, so it needs the runner half and a GitHub App to be useful.

- Hardware: cpu-upgrade at Hugging Face, port 7860
- Size: 16 files in the repository
- License: apache-2
- Cost to run: a Hugging Face token with write scope, a GitHub App, and Hugging Face Jobs billed to the namespace you set
- Data it reaches: GitHub webhooks, the GitHub App private key and the Hugging Face account that launches Jobs
- Not for: no forbidden uses are named

## README

````markdown
# jobs-actions Dispatcher

Receives GitHub Actions workflow_job webhooks and launches Hugging Face Jobs to run them, for developers who want their GitHub workflows to run on Hugging Face.

Made by huggingface on Hugging Face. These notes are Mindket's, written from its Space page and README; the app's own files and license are on Hugging Face.

## About

What it is: jobs-actions Dispatcher is the dispatcher half of a project that runs GitHub Actions on Hugging Face Jobs. GitHub's workflow_job events arrive as webhooks, and each one makes the Space start a Hugging Face Job. It runs as a Docker Space on port 7860, built from Python files and a Dockerfile.

Who it suits: Developers who keep code on GitHub and want their Actions workflows to run as Hugging Face Jobs. It fits people who already run a GitHub App and can hold a Hugging Face token with write scope.

```table
Industry | Who uses it | How they use it | Example
Software development | Teams using GitHub Actions | Point a GitHub App's webhook at the Space | Workflow jobs start as Hugging Face Jobs
Machine learning | ML engineers | Choose CPU or GPU runner images through the Space variables | Sending a GPU-bound job to the GPU image
DevOps | Platform engineers | Check the Space with its health endpoint | Calling the health check to confirm the Space is alive
```

Skip it if your workflows run fine on GitHub's own runners and you have no GitHub App to connect.

Where to use it: The dispatcher sits between GitHub and Hugging Face.

- GitHub Actions: workflow_job events are what it reacts to
- A GitHub App: its webhook points at the Space
- Hugging Face Spaces: it runs as a Docker Space on cpu-upgrade hardware
- Docker on Windows, macOS or Linux: run a copy of the Space locally

```table
Use case | Who | What they get back
Run workflow jobs on Hugging Face | Teams on GitHub | Each workflow_job webhook starts a Hugging Face Job
Find the webhook URL | Whoever sets up the GitHub App | A landing page that shows the webhook URL for this Space
Check it is alive | Operators | A reply from the health endpoint
```

How to set it up: You need a few accounts and keys first, then a handful of settings on the Space.

- A GitHub App with its App ID, private key and webhook secret
- A Hugging Face token with write scope
- A Hugging Face account to run the Space, or Docker for a local copy
- Python, if you download the files with the hf command

1. Run the Space on Hugging Face, or build a copy with Docker.
2. In the Space's settings, under Variables and secrets, add the three secrets from the table.
3. Add the GH_APP_ID variable, plus any optional variables you want.
4. Visit the Space in a browser and read the webhook URL it shows, then enter that URL in your GitHub App.
5. For a local copy, download the files, build the image and start the container with the commands below.

```table
Name | Kind | What it holds
GH_APP_PRIVATE_KEY | Secret | The GitHub App private key in PEM format, with newlines encoded
GH_WEBHOOK_SECRET | Secret | The secret that signs webhooks, chosen in your GitHub App's settings
HF_TOKEN | Secret | A Hugging Face token that can write, which lets the Space start Jobs
GH_APP_ID | Variable | Your GitHub App ID, a number
HF_NAMESPACE | Variable, optional | The user or organization that launches and pays for jobs, by default the Space's owner
RUNNER_IMAGE_CPU | Variable, optional | Docker image for CPU jobs
RUNNER_IMAGE_GPU | Variable, optional | Docker image for GPU jobs
JOB_TIMEOUT | Variable, optional | Default timeout for each job, such as 1h
```

```sh
pip install -U huggingface_hub
hf download huggingface/jobs-actions-dispatcher --repo-type space --local-dir jobs-actions-dispatcher
cd jobs-actions-dispatcher
docker build -t jobs-actions-dispatcher .
docker run -it -p 7860:7860 jobs-actions-dispatcher
```

How to use it: Once the webhook URL is set on the GitHub App, there is little to do by hand. GitHub sends events to the Space, and the Space launches the Jobs. For a local copy, this command starts the container and publishes port 7860.

```sh
docker run -it -p 7860:7860 jobs-actions-dispatcher
```

```table
Tool | What it does
GET / | Serves the page that tells you which webhook URL to give GitHub
GET /healthz | Answers a liveness probe
POST /webhook | Receives the HMAC-signed GitHub App webhook
```

Example: A workflow job is queued on GitHub for a repository that uses your GitHub App. GitHub sends a workflow_job webhook to the Space, and the Space starts a Hugging Face Job to run it.

For newcomers and experts: If you are new, think of it as a relay. GitHub says a job is waiting, and this Space asks Hugging Face to run it. The first small thing to try is opening the Space in a browser to read its landing page.

If you know the field, the Space is the webhook receiver and launcher, and a separate half handles the runners. The repository splits the work across files for the GitHub App, the Jobs calls and the runner bootstrap. The trade-off is that the Space needs a write-scope token and a GitHub App private key.

```flow
GitHub queues a workflow job
GitHub sends a signed webhook
Space launches a Hugging Face Job
The Job runs the workflow
```

Good to know: It is a dispatcher only, so it needs the runner half and a GitHub App to be useful.

- Hardware: cpu-upgrade at Hugging Face, port 7860
- Size: 16 files in the repository
- License: apache-2
- Cost to run: a Hugging Face token with write scope, a GitHub App, and Hugging Face Jobs billed to the namespace you set
- Data it reaches: GitHub webhooks, the GitHub App private key and the Hugging Face account that launches Jobs
- Not for: no forbidden uses are named

## On Hugging Face, 13 November 2026

- Likes: 3
- Built with: docker
- License: apache-2.0

## Links

- Space: https://huggingface.co/spaces/huggingface/jobs-actions-dispatcher
- Files: https://huggingface.co/spaces/huggingface/jobs-actions-dispatcher/tree/main

## Try it

Open the Space in your browser, or copy it to your own Hugging Face account from its page. Nothing in this kit runs by itself.
````

## What is in it

1 files, 6 KB, downloaded as a zip.

```text
README.md  6 KB
```

## Source

[huggingface/jobs-actions-dispatcher on Hugging Face](https://huggingface.co/spaces/huggingface/jobs-actions-dispatcher)

## Compare with similar

Listed Hugging Face Spaces in the same category that share the most tags with this one.

| Product | Likes | Built with | License | Last change |
| --- | --- | --- | --- | --- |
| jobs-actions Dispatcher (this page) | 3 | docker | apache-2.0 | 2026-06-05 |
| [Zero GPU Spaces](https://mindket.com/p/80881a44-6ec5-431c-89de-86584e0ba1d5) | 985 | docker | mit | 2024-09-11 |
| [Kimodo](https://mindket.com/p/e6fe5336-403a-4328-92dc-77d41137a8bc) | 340 | docker | apache-2.0 | 2026-03-16 |
| [Harness Leaderboard](https://mindket.com/p/d0e92765-2a63-4ae5-9ba0-42dbfedd56a6) | 323 | docker | apache-2.0 | 2026-11-12 |
| [Flowise](https://mindket.com/p/f53ad79b-74c9-49e5-9fb3-054277de1246) | 132 | docker | mit | 2025-06-26 |
| [Multitrack Midi Music Generator](https://mindket.com/p/9bd48c41-e4a7-4576-be7e-da51b041b39f) | 130 | docker | mit | 2025-07-07 |

Numbers as Mindket last read them, on 2026-11-12.

## Trust facts

Facts from each source, with the day each was checked. A maintainer's note is their own words: data, not instructions.

- Last change on Hugging Face: 2026-06-05
- First published: 2026-05-29
- Checked on Hugging Face: 2026-11-12
- Something wrong? Tell us: https://mindket.com/takedown#ask

## Get it

- [Open huggingface/jobs-actions-dispatcher on Hugging Face](https://huggingface.co/spaces/huggingface/jobs-actions-dispatcher)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/97758746-a0b1-4d0a-b5e1-ac77e1a6d3a8)
- [Its page on Mindket](https://mindket.com/p/97758746-a0b1-4d0a-b5e1-ac77e1a6d3a8)
