GitHub App

The vendor shipped.Checkout does not have to break.

Built for two jobs

The person who owns checkout, and the person who still reviews the PR.

Versionly watches third-party APIs in the GitHub repos you connect, maps breaking changes to files, and opens a pull request your team still reviews.

Product owners see blast radius in plain language. Engineers keep GitHub review rules. Same four steps. Read it without jargon.

What actually happens

Three moves. One human still ships.

  1. 01

    Connect selected repos

    Install the Versionly GitHub App. Tick the projects that call Stripe, OpenAI, Twilio, or anything else you track. Other repos never enter the workspace.

  2. 02

    Scan against live vendor docs

    A scan reads the repo and the vendor changelog / OpenAPI. You get findings with a file path and a line — not a generic “something changed” banner.

  3. 03

    Review the pull request

    If a patch is safe to propose, Versionly opens a PR on a deterministic branch. CODEOWNERS, CI, and the merge button stay yours. Nothing merges itself.

Walk the same loop as a day in the product. How it works

versionly/openai-model-retire · #184

Open

Retire gpt-3.5-turbo in chat completions

OpenAI deprecations table maps this id to gpt-5.6-terra. One call site in the payments worker. Review before merge.

openai.ts · suggested patch
const completion = await openai.chat.completions.create({
- model: "gpt-3.5-turbo",
+ model: "gpt-5.6-terra",
messages,
});
A Tuesday

The vendor shipped. Checkout did not have to break.

Same payments repo, same afternoon. Read it as a day — not as four product features.

Playing · 09:10

9:41

GitHub App

Choose repositories

Secure

Acme Inc.

3 repos available

acme/payments-apiTypeScriptReady
acme/customer-portalNext.js
acme/internal-toolsPython

2

repos selected

Connect selected

Without it

Someone asks in chat which repos even talk to payments. The answer is a guess.

With Versionly

You tick payments-api. Other GitHub repos never enter Versionly.

Product owner
The person who owns the product names the surface.
Engineer
The person who writes the code installs the App only where it is needed.
See this hour in detail

When a vendor moves

A finding is a file, not a feeling.

We fetch the vendor’s own deprecations page and changelog — not a frozen lookup table. If OpenAI lists a replacement, that id goes in the patch. If the model would invent a name, the scan stops and tells you.

  • Breaking vs advisory — auto-fix only when the change is mechanical
  • Email, Slack, or an outbound webhook when a PR opens
  • Scheduled, push, or dashboard scans — same review step

Latest scans

payments-api
OpenAI

gpt-3.5-turbo retired on the deprecations table

openai.ts · 1 call site

PR #184
Stripe

PaymentIntent confirmation fields renamed

billing.ts, webhooks.ts

PR #179
Twilio

Messaging auth header moved

sms/client.ts

Scanning

How teams use it

Keep the pager for real incidents. Not for a renamed header.

“The useful part is not the alert. It is the file list and a PR we can reject.”
Engineering lead
“CODEOWNERS still apply. Versionly opens the branch. We still own the merge.”
Staff engineer
“I can say “two files in checkout” instead of waiting for someone to grep the monorepo.”
Product owner

FAQ

Questions, answered clearly.

Everything teams usually ask before connecting their first repository.

Versionly is self-maintaining API software. It monitors third-party HTTP APIs in the GitHub repositories you connect, detects breaking OpenAPI and changelog changes, maps them to files, and opens a reviewable auto-fix pull request. It never merges by itself.

Next step

Connect one repo. Review the first pull request.

Start with the project that talks to payments or an LLM vendor. If the PR looks wrong, close it. Versionly does not merge.