Attach a repository the GitHub App installation reaches
const url = 'https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/repositories';const options = { method: 'POST', headers: { 'X-Katara-CSRF': '1', 'Idempotency-Key': '2489E9AD-2EE2-8E00-8EC9-32D5F69181C0', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","provider":"github","owner":"example","name":"example","store_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/repositories \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: 2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \ --header 'X-Katara-CSRF: 1' \ --data '{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "provider": "github", "owner": "example", "name": "example", "store_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Needs a person’s signed-in session: attaching approves the repository’s default branch for 30 days, and while that lasts a push is read automatically. GitHub is asked first whether the organization’s installation reaches it. The first read is a separate step: syncRepository.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Browser cookie mutations require value 1 and an allowed Origin. Session bearer clients may omit this header.
Request Bodyrequired
Section titled “Request Bodyrequired”Attach a repository the organization’s GitHub App installation reaches, naming the content store its documents go to. Attaching the same one twice attaches it once.
object
Responses
Section titled “Responses”Successful request
A repository an organization has attached so an agent may answer from it, the installation of the Katara GitHub App it reads through, the content store its documents go to, how far it has been read and the approval it is read under. Attaching approves the default branch for 30 days and renewing approves it again; while the approval lasts a push is read automatically. No permission is recorded: whether somebody may read what it points at is asked of GitHub when they ask, because a permission kept in a record goes on being true after it stops being true.
object
Pending: never read; syncing: a sync holds the repository now; behind: GitHub reported a newer commit on the default branch, or a sync stopped part way; failed: the last sync could not finish, see failure; unconnected: attached before the GitHub App, with nothing to read through.
Example
{ "provider": "github", "failure": "truncated", "sync_state": "unconnected", "approval_state": "active"}default
Section titled “default”Request error
object
object
Stable; branch on it. Any operation can answer invalid_request, with param naming the refused field when there is one; human_session_required, when an API key, service account or workload calls an operation only a signed-in person may perform; reauthentication_required, when a person’s sign-in is too old for the operation; permission_denied; route_not_found and method_not_allowed, when no operation matches the path or method; and feature_unavailable, when the operation’s service is not enabled on this deployment.
The request field a refusal is about, such as the agent_id or run_id query parameter; null when the refusal is not about one field.
Example
{ "error": { "action": "sign_in" }}