Skip to content

Migration guides: from Postman, Bruno, Hurl, httpyac and curl/Taskfile #73

Closed

Description

@dataGriff

Why

docs/comparison.md says how apic differs from each tool; nothing says how to move from one. Someone arriving with a Postman collection or a Hurl suite wants a concept-mapping table, the command that does the bulk of it, and an honest list of what will not carry over.

What

A "Migrate" group under Guides in mkdocs.yml with one page per source:

  • From Postman: collections → files and requests, environments → http-client.env.json, pm.* scripts → # @assert and # @capture or a shell loop, auth helpers → # @auth, apic import collection.json (Import Postman collections (v2.1) and environments #47), a worked example on the Postman Echo collection.
  • From Bruno: .bru blocks → .http sections, vars:pre-request → env files, assert blocks → # @assert, scripts → not supported, bru run → apic run, reporters → --format.
  • From Hurl: entries → requests, [Captures]/[Asserts] → directives, jsonpath → body.$, retry → # @retry, --variables-file → env files, --report-junit → --format junit.
  • From httpyac: same files mostly work; what to change (@ref supported, scripts stripped, @import/@loop not), env file compatibility, running both side by side.
  • From curl and Taskfile: apic import --curl (Import a curl command into a .http file #48) per command, keeping task as the front door (docs/taskfile.md), apic curl to get back.

Each page ends with a checklist and links to the relevant reference sections.

Where

docs/migrate/postman.md, bruno.md, hurl.md, httpyac.md, curl.md; mkdocs.yml; docs/comparison.md links to them.

Depends on

Tests

Docs build, link check, and a learn-style runnable block per page where a command exists.

Activity

  1. dataGriff commented on Sep 24, 2026

    @dataGriff
    OwnerAuthor

    Done in #116 (commit f74d11a).

    • Guides: docs/migrate/ has one page each for Postman, Bruno, Hurl, httpyac, and curl with Taskfile. Each has a concept table, a worked example against apic demo, a list of what doesn't carry over, and a checklist.
    • CI: learncheck now runs the guides' marked blocks too.
    • Fixes found while writing them:
      • The Postman importer now reads one-line pm.test(...) forms.
      • # @ref login followed by {{login.response...}} now runs login first, the way httpyac files expect.

    Left as follow-ups:

    • apic can't read httpyac's {{ }} script blocks or ?? test lines, so the httpyac guide says to convert them by hand. validate rejects the script blocks, but nothing flags ?? lines after the body, which would be sent as part of it.
    • The Postman Echo walkthrough isn't a runnable block, because it needs the live service.

    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions