Skip to content

Latest commit

 

History

History

docs

Catalog importer

Jump to Getting started if you want to begin from an example configuration or just want to experiment.

Otherwise check-out the rest of our documentation for details on how the importer works:

If you can't find an answer to your question, please open an issue with your request and we'll be happy to help out.

Getting started

The easiest way to get started is to copy one of the examples and tweak it to match your needs, which will depend on whether you already use a catalog and the type of catalog data you have available.

You can run catalog-importer init, which will give you a fresh copy of one of the templates in a local directory.

Choose from:

  • Simple, for anyone starting from scratch and wanting to load catalog data into incident.io directly from importer config.
  • Backstage, for those already using Backstage as a service catalog and want to import existing catalog-info.yaml files.

Once you've created a importer.jsonnet, visit your incident dashboard to create an API key with permission to:

  • View catalog types and entries
  • Manage catalog types and edit catalog data

Then set that token as your INCIDENT_API_KEY environment variable.

You can check your config is valid by running:

$ catalog-importer validate --config=importer.jsonnet

Then you can run a sync with:

$ catalog-importer sync --config=importer.jsonnet

✔ Loaded config (3 pipelines, 3 sources, 3 outputs)
✔ Connected to incident.io API (https://api.incident.io)
✔ Found 16 catalog types, with 3 that match our sync ID (incident-io/catalog)
Where this will be followed by progress output as entries are synced into the catalog:
↻ Creating catalog types that don't yet exist...
  ✔ Custom["Feature"] (id=01GYZMPSJPBE1ZFDF1ESEWFYZF)
  ✔ Custom["Integration"] (id=01GYZMPSV08SYE4RF49C3JZT76)
  ✔ Custom["Team"] (id=01GYZMPT7C692DXCEVHFHVKZAQ)

↻ Syncing catalog type schemas...
  ✔ Custom["Feature"] (id=01GYZMPSJPBE1ZFDF1ESEWFYZF)
  ✔ Custom["Integration"] (id=01GYZMPSV08SYE4RF49C3JZT76)
  ✔ Custom["Team"] (id=01GYZMPT7C692DXCEVHFHVKZAQ)

↻ Syncing pipeline... (Custom["Feature"])

  ↻ Loading data from sources...
    ✔ inline (found 30 entries)

  ↻ Syncing entries...

    ↻ Custom["Feature"]
      ✔ Building entries... (found 30 entries matching filters)
      ✔ No entries to delete
      ✔ Creating new entries in catalog... (30 entries to create)
      ✔ No existing entries to update

↻ Syncing pipeline... (Custom["Integration"])

  ↻ Loading data from sources...
    ✔ inline (found 21 entries)

  ↻ Syncing entries...

    ↻ Custom["Integration"]
      ✔ Building entries... (found 21 entries matching filters)
      ✔ No entries to delete
      ✔ Creating new entries in catalog... (21 entries to create)
      ✔ No existing entries to update

↻ Syncing pipeline... (Custom["Team"])

  ↻ Loading data from sources...
    ✔ inline (found 3 entries)

  ↻ Syncing entries...

    ↻ Custom["Team"]
      ✔ Building entries... (found 3 entries matching filters)
      ✔ No entries to delete
      ✔ Creating new entries in catalog... (3 entries to create)
      ✔ No existing entries to update

And that's it! Your data will now be loaded into your catalog.

Note that we only support up to 50,000 entries for each catalog type. Please contact us if you'd like to explore options for larger lists.