Weekly
Get a weekly list of your repos and tags
Every Monday you get each repository's latest tags and when they were pushed.
- Runs
- Weekly
- Apps
- Docker Hub
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me my Docker Hub repositories with their five newest tags and the date each was pushed.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Someone on a platform team is asked which image versions exist, which one was pushed last and whether the release candidate from Tuesday is actually in the registry. Answering means opening Docker Hub, clicking into each repository and reading tag lists page by page. For an organization with twenty repositories, that is a morning's work, so the question gets answered from memory and sometimes answered wrongly.
Each week the automation signs in with your access token, lists your repositories and their tags, and emails the list with the date each tag was last pushed. The result is a compact inventory of what exists in your Docker Hub account, delivered without anyone opening the site.
Release managers, DevOps leads and open-source maintainers use it to keep an eye on what is published.
What you get out of it
An inventory you did not have to build
A weekly list of repositories and tags answers what do we have without a morning of clicking. It becomes the reference people open when the question comes up, instead of a page they have to rebuild from scratch.
Unexpected pushes get noticed
A tag pushed by someone you did not expect, or on a day nothing was supposed to ship, stands out in a list of last-pushed dates. That is an early sign of a mistake or an unauthorized publish.
Release readiness checks are quicker
Before a launch, you can confirm from the latest email that the final version tag exists and was pushed when you thought. That avoids last-minute surprises during a rollout, when nobody wants to be searching a registry.
Forgotten repositories surface
A repository whose last push was two years ago appears at the bottom of the list. It prompts a decision to archive it or confirm it is still supported, rather than letting it age unnoticed on your public page.
Audit evidence of what was published
A dated email each week forms a record of the images available at that time. That helps when a customer asks which version they were running on a given date, or when a security review asks what was public.
How it works
What happens, step by step
Every Monday, ClickRuntime signs in to Docker Hub with your access token.
It lists each of your repositories and the latest tags in it, with the date each was pushed.
You get one email grouped by repository, newest tags first.
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
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"]
headers = {"Authorization": f"Bearer {token}"}
repos = http.get(f"{HUB}/namespaces/{NAMESPACE}/repositories", params={"page_size": 100},
headers=headers).json()["results"]
lines = []
for r in repos:
tags = http.get(f"{HUB}/namespaces/{NAMESPACE}/repositories/{r['name']}/tags",
params={"page_size": 5, "ordering": "last_updated"}, headers=headers).json()["results"]
lines.append(f"{NAMESPACE}/{r['name']}")
lines += [f" {t['name']} pushed {(t.get('tag_last_pushed') or t['last_updated'])[:10]}" for t in tags]
notify.email_me("Docker Hub tags this week", "\n".join(lines))
return {"repos": len(repos)}FAQ
Common questions
What fields are included for each tag?
Does it include private repositories?
How is this different from the stale tag report?
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
Track weekly pulls for each image
Each week you see every repository's total pulls and how much that grew since the previous week.
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 “Get a weekly list of your repos and tags” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.