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.
Fork the repository
Open github.com/saadbhattii/Qoffee and press Fork.
Add three secrets
In your fork, go to Settings, then Secrets and variables, then Actions. Press New repository secret three times and add these.
| Name | What to paste |
|---|---|
IBM_TOKEN | Your IBM Quantum API token, from the IBM Quantum Platform dashboard. |
IBM_CRN | Your IBM Quantum instance CRN, from the same dashboard. It starts with crn:v1:. |
DISCORD_WEBHOOK | A webhook URL from a channel in your own Discord server. How to create one. |
Enable Actions
Open the Actions tab on your fork and press the button confirming you want workflows to run.
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.
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.