Skip to content

feat: replace kolkrabbi API with api.heroku.com repositories-api#3830

Open
chap wants to merge 1 commit into
mainfrom
replace-kolkrabbi-with-repositories-api
Open

feat: replace kolkrabbi API with api.heroku.com repositories-api#3830
chap wants to merge 1 commit into
mainfrom
replace-kolkrabbi-with-repositories-api

Conversation

@chap

@chap chap commented Jul 23, 2026

Copy link
Copy Markdown

What

Migrates all legacy kolkrabbi.heroku.com usage in the CLI onto the new repositories-api served from api.heroku.com (Accept: application/vnd.heroku+json; version=3.repositories-api). Schema: heroku/repositories-api schema/schema.json.

The new API proxies GitHub server-side, so the CLI no longer fetches or handles raw GitHub tokens (get-github-token.ts / github-api.ts are gone).

Endpoint mapping

Legacy (kolkrabbi) New (repositories-api)
POST /pipelines/{id}/repository {repository} POST /pipelines/{id}/repo {repo_url}
GET /pipelines/{id}/repository GET /pipelines/{id}/repo (returns GitHub repo object)
GET /apps/{id}/github (.repo) GET /apps/{id}/repo (.full_name)
direct api.github.com repo lookup GET /repos/{owner}/{name}
GET /github/repos/{repo}/tarball/{ref} GET /repos/{owner}/{name}/archives/{ref}
direct api.github.com compare GET /pipelines/{id}/repo/compare

Notable behavior changes

  • CI org derivation (ci:run, ci:rerun, ci:debug): /repo no longer returns an organization, so the test-run organization is derived from the pipeline owner via GET /pipelines/{id} (version=3.pipelines) — team owner → owner.name ?? owner.id, otherwise omitted.
  • pipelines:setup: review apps are configured through the platform review-app-config endpoint. The repositories-api has no equivalent for the old staging auto-deploy or CI auto-run enablement, so those settings — and their now-dead interactive prompts in get-settings.ts — are removed.
  • reviewapps:enable/disable: full cutover — the dashboard-repositories-api feature gate and kolkrabbi fallback are removed.

Removed files

kolkrabbi-api.ts, github-api.ts, setup/get-github-token.ts, setup/get-ci-settings.ts, ci/interfaces/kolkrabbi.ts.

Testing

  • yarn build
  • eslint: 0 errors (pre-existing any warnings only) ✅
  • Affected unit suites: 36 passing / 0 failing (nock mocks repointed to api.heroku.com; added a team-owned-pipeline org-derivation test for ci:run) ✅
  • Zero kolkrabbi references remain in src/ or test/

Migrate all legacy kolkrabbi.heroku.com usage onto the new repositories-api
served from api.heroku.com (Accept: application/vnd.heroku+json; version=3.repositories-api).
The new API proxies GitHub server-side, so the CLI no longer fetches or handles
raw GitHub tokens.

Endpoint changes:
- POST /pipelines/{id}/repo {repo_url} to link a repo (was kolkrabbi /repository)
- GET  /pipelines/{id}/repo returns the GitHub repo object (full_name, etc.)
- GET  /apps/{id}/repo for app repo lookup
- GET  /repos/{owner}/{name} for repo-by-name lookup
- GET  /repos/{owner}/{name}/archives/{ref} for source archives
- GET  /pipelines/{id}/repo/compare for commit comparison

CI commands (ci:run, ci:rerun, ci:debug) derive the test-run organization from
the pipeline owner (GET /pipelines/{id}, version=3.pipelines) since /repo no
longer returns an organization.

pipelines:setup now configures review apps via the platform review-app-config
endpoint. The repositories-api has no equivalent for staging auto-deploy or CI
auto-run enablement, so those settings (and their now-dead prompts) are removed.

reviewapps:enable/disable do a full cutover: the dashboard-repositories-api
feature gate and kolkrabbi fallback are removed.

Deletes kolkrabbi-api.ts, github-api.ts, get-github-token.ts, get-ci-settings.ts,
and the kolkrabbi TS interfaces.
@chap
chap requested a review from a team as a code owner July 23, 2026 19:24
@chap
chap deployed to AcceptanceTests July 23, 2026 19:24 — with GitHub Actions Active
@chap
chap temporarily deployed to AcceptanceTests July 23, 2026 19:24 — with GitHub Actions Inactive
@chap
chap temporarily deployed to AcceptanceTests July 23, 2026 19:24 — with GitHub Actions Inactive
@chap
chap temporarily deployed to AcceptanceTests July 23, 2026 19:24 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant