Weekly
Track weekly pulls for each image
Each week you see every repository's total pulls and how much that grew since the previous week.
- Runs
- Weekly
- Apps
- Docker Hub
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday, email me the pull count of each of my Docker Hub repositories and the change since last Monday, highest growth first.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
If you publish a public image, the pull count on the Docker Hub page is a running total that tells you almost nothing about this week. A maintainer wants to know whether last week's release gained users, whether the image is slowly dying or whether a blog post caused a jump. Lifetime totals hide the answer, and comparing them by hand each week means writing numbers down in a spreadsheet nobody maintains.
Each week the automation signs in with your access token, lists your repositories with their pull counts, compares them with the counts it stored last time and emails you how many new pulls each image received. The comparison runs without you keeping any record at all.
Open-source maintainers and teams who ship images to customers get a simple read on adoption.
What you get out of it
Know whether a release landed
A jump in pulls after a new version shows people are adopting it. A flat line tells you the announcement did not reach anyone, which is a prompt to improve the changelog or tell users directly.
Spot declining images early
A steady week-by-week drop signals that an image is losing relevance, or that a competitor or a base-image change is pulling users away. You can respond before the project quietly fades from use.
Justify time spent on maintenance
Weekly figures give you something concrete to show an employer or sponsor. An image with thousands of new pulls each week is far easier to defend than one that is merely described as popular.
Link spikes to their causes
A jump on a particular week often traces to an article, a conference talk or a mention on social media. Seeing the numbers by week lets you repeat what worked and skip what did not.
Numbers without a spreadsheet
The automation stores last week's counts itself, so the difference is calculated every time. There is no manual entry, and the history does not depend on someone remembering to write the figures down.
How it works
What happens, step by step
Once a week, ClickRuntime signs in to Docker Hub and reads the total pull count for each of your repositories.
It compares each total with the count it saved the previous week to see how much it grew.
You get one email with a line per repository, like "api: 182,410 pulls (+4,120 since last week)". The new totals are saved for next week.
Before it runs live
- Connect Docker Hub
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Docker Hub steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify, state
NAMESPACE = "acme"
HUB = "https://hub.docker.com/v2"
@on_trigger
def run(event):
token = http.post(f"{HUB}/auth/token", json={"identifier": NAMESPACE,
"secret": credentials.secret("DOCKER_HUB_TOKEN")}).json()["access_token"]
repos = http.get(f"{HUB}/namespaces/{NAMESPACE}/repositories", params={"page_size": 100},
headers={"Authorization": f"Bearer {token}"}).json()["results"]
counts = {r["name"]: r["pull_count"] for r in repos}
last = state.get("pull_counts") or {}
rows = sorted(counts.items(), key=lambda kv: -(kv[1] - last.get(kv[0], kv[1])))
lines = [f"{name}: {n:,} pulls ({n - last[name]:+,} since last week)" if name in last
else f"{name}: {n:,} pulls (new)" for name, n in rows]
notify.email_me("Docker Hub pull counts", "\n".join(lines))
state.set("pull_counts", counts)
return {"repos": len(counts)}FAQ
Common questions
Does the count include automated pulls such as CI jobs?
Will the first email show a weekly change?
Can it cover several organizations?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a weekly list of your repos and tags
Every Monday you get each repository's latest tags and when they were pushed.
See how it worksList tags nobody has pulled in 90 days
On the first of each month you get the tags no one has pulled in 90 days or ever, ready for a clean-up.
See how it worksGet a message when a new tag is pushed
Each time a tag is pushed to your repository, you see the tag, who pushed it and the repo right away.
See how it worksKeep exploring
Set up “Track weekly pulls for each image” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.