Merge pull request #29887 from benjidotsh/catalog/github-app-discovery

feat(catalog): implement discovery by GitHub app
This commit is contained in:
Fredrik Adelöw
2025-09-01 12:42:20 +02:00
committed by GitHub
12 changed files with 176 additions and 41 deletions
+8 -6
View File
@@ -2,7 +2,7 @@
id: discovery
title: GitHub Discovery
sidebar_label: Discovery
description: Automatically discovering catalog entities from repositories in a GitHub organization
description: Automatically discovering catalog entities from repositories in a GitHub organization or App
---
:::info
@@ -12,8 +12,8 @@ This documentation is written for [the new backend system](../../backend-system/
## GitHub Provider
The GitHub integration has a discovery provider for discovering catalog
entities within a GitHub organization. The provider will crawl the GitHub
organization and register entities matching the configured path. This can be
entities within a GitHub organization or App. The provider will crawl the GitHub
organization or App and register entities matching the configured path. This can be
useful as an alternative to static locations or manually adding things to the
catalog. This is the preferred method for ingesting entities into the catalog.
@@ -252,7 +252,7 @@ catalog:
catalogPath: '/catalog-info.yaml' # string
```
This provider supports multiple organizations via unique provider IDs.
This provider supports multiple organizations and apps via unique provider IDs.
:::note Note
@@ -288,9 +288,11 @@ If you do so, `default` will be used as provider ID.
Whether to include archived repositories. Defaults to `false`.
- **`host`** _(optional)_:
The hostname of your GitHub Enterprise instance. It must match a host defined in [integrations.github](locations.md).
- **`organization`**:
- **`organization`** _(required, unless `app` is set)_:
Name of your organization account/workspace.
If you want to add multiple organizations, you need to add one provider config each.
If you want to add multiple organizations, you need to add one provider config each or specify `app` instead.
- **`app`** _(required, unless `organization` is set)_:
ID of your GitHub App.
- **`validateLocationsExist`** _(optional)_:
Whether to validate locations that exist before emitting them.
This option avoids generating locations for catalog info files that do not exist in the source repository.