Setup

Three steps, then one more that is not really a step: making a message arrive so you can see it work. Budget about five minutes. You need a GitHub account, an IBM Quantum account, and a Discord server you can post to.

This page sets up Discord only, because one path is easier to follow than three. Slack and ntfy work the same way and are on the channels page once you are running.

Step 1 of 3
1

Fork the repository

Open github.com/saadbhattii/Qoffee and press Fork.

A fork is your own copy of the repository, under your own account. It costs nothing, it does not change the original, and nothing you do to it is visible to whoever wrote it.
The Fork button sits at the top right of the repository page.
Step 2 of 3
2

Add three secrets

In your fork, go to Settings, then Secrets and variables, then Actions. Press New repository secret three times and add these.

NameWhat to paste
IBM_TOKENYour IBM Quantum API token, from the IBM Quantum Platform dashboard.
IBM_CRNYour IBM Quantum instance CRN, from the same dashboard. It starts with crn:v1:.
DISCORD_WEBHOOKA webhook URL from a channel in your own Discord server. How to create one.
Once a secret is saved, nobody can read its value back. Not you, not a collaborator, not anyone browsing the repository. This is how GitHub secrets work everywhere, not something specific to Qoffee. Forking also does not copy secrets, so each fork's secrets belong only to whoever made that fork.
All three names have to match exactly, including the underscores.
Step 3 of 3
3

Enable Actions

Open the Actions tab on your fork and press the button confirming you want workflows to run.

GitHub turns Actions off on every newly forked repository until you switch them on once. This is permission for your own repository to run its own code. It does not grant anything to anyone else.

Then open Qoffee Watcher in the Actions tab and enable the workflow itself. Scheduled workflows are disabled by default in forks, so this step is what allows Qoffee to run on its 15-minute schedule.

After this, the Qoffee Watcher workflow appears in the left sidebar of the Actions tab.
Not a step. Do it anyway.
GO

Watch one message arrive

Setup is done, but the next thing that would normally happen is nothing, possibly for hours. So make something happen now, while you still have all of this open.

Tag a job. Any job you can retrieve will do, including an old finished one.

job = service.job("your_job_id_here")
job.update_tags(list(job.tags or []) + ["qoffee"])

Then go to Actions, choose Qoffee Watcher, and press Run workflow. Manual runs start immediately and are not affected by GitHub's schedule delays.

Within a minute you should see a message in your Discord channel and a green tick in the Actions tab. If you tagged a job that was already finished, the message reports it once and then Qoffee stops tracking it.

If nothing arrives, go to is it working?, which lists what to check and in what order.

From here on it runs on its own. The only thing you do differently is add one line to the scripts that submit your jobs, which is the next page.