Attach sources
By the end of this page your application will have the repositories it is made of, including private ones.
Prerequisites
- An application (Create an application).
- Admin or Developer role.
- For a private repository: a GitHub or Azure DevOps configuration — see Private repositories below.
Attach a repository
Open the application and click Attach source
You land on the Ingest tab, which is where sources live.
Choose the kind
GitHub, Azure DevOps, or Zip upload.
Give it an alias
A short, stable name for this repository — orders, catalog-service. It is how agents and the graph refer to it.
The alias is permanent in practice. It prefixes every node id from this repository and ties the file manifest together across ingests. Changing it later makes the next ingest look like an entirely different repository. Pick the name you would use in conversation.
Give it the repository URL
The HTTPS clone URL. Optionally set a Branch — leave it blank to use whatever the remote’s default is.
Connect a credential, if the repository is private
Leave it blank for a public repository. For a private one, see below.
Click Attach source
The source appears in the list. Repeat for every repository in the system.
Private repositories
This is the step people get stuck on, so it is worth being precise.
The Credential field takes the name of a stored configuration — not a token. Typing a token here would send it in a request body, store it on the source, and leak it into logs. That is exactly why the field asks for a name instead.
Create the credential first
Go to Configuration → Configurations → Integrations and create a GitHub or Azure DevOps configuration, with its access token in the encrypted field. Give it a name you will recognise — zeiss-demo.
See Add a configuration.
Type that name into Credential
Back on the Attach source form, type the configuration’s name exactly: zeiss-demo.
If the name does not match a configuration, the ingest fails with a message naming what is missing and where to create it.
The same credential serves your coding agents. A GitHub or Azure DevOps configuration is also what a code tool’s token parameter binds to. One credential, two uses.
Zip upload
When there is no git access — a vendor hand-off, a snapshot, an audit — upload a .zip instead. Choose Zip upload for the kind, give it an alias, and pick the file.
The archive is extracted into a scratch directory and deleted when the job ends. Nothing of it is retained beyond the graph and index that come out.
A zip has no branch and no commit, so versions of a zip source cannot be compared to a commit range the way a git source can.
Removing a source
Detach it from the source list. Existing graph versions are unchanged — they are snapshots — but the next ingest builds without it.
Common issues
- The ingest fails saying a credential is missing — The name in Credential does not match any configuration. Check it under Configuration → Integrations.
- A private repository is refused — The credential exists but its token is wrong, expired, or lacks read access to that repository.
- You pasted a token into Credential — Remove it, create a proper configuration, and put its name here instead. Then rotate the token, because it has been stored and logged.
- Nothing happens when you click Attach source — The alias or URL is empty, or no file is chosen for a zip.