board-github
POST /v1/board-github/links
Connect a GitHub Project to this organisation.
Аутентификация
API кілтін bearer токені ретінде жіберіңіз. Бұл соңғы нүкте сипаттамада арнайы рұқсатты көрсетпейді, сондықтан болжағаннан гөрі кілтіңізге қажетті ең аз рұқсатты беріп, жауапты тексеріңіз.
Ұйымыңыздың идентификаторы орналасатын жер
Бұл соңғы нүкте JSON корпусында өріс ретінде org_id қабылдайды.
Сіздің ұйым идентификаторыңыз басқару панеліндегі API кілттері экранында, кілттің өзінің жанында орналасқан. Бұл сіз жасайтын әрбір шақырудағы бірдей идентификатор.
Әрекет етіп көру
Бұрыштық жақшалардағы кез келген нәрсені өз мәндеріңізбен, ал кілт орналастырушысын басқару тақтасынан алынған кілтпен алмастырыңыз.
curl -X POST https://api.zinndigital.com/v1/board-github/links \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "project_node_id": <string>, "project_number": <integer>, "owner_login": <string> }'Жүйеге кіргенсіз бе? Бақылау тақтасындағы API консолі ұйымыңыздың нақты идентификаторы мен жеке кілтіңізді автоматты түрде толтырады да, нақты жауапты көре алуыңыз үшін сұрауды тікелей жұмыс істеп тұрған API арқылы орындайды. Бұл соңғы нүктені API консолінде ашыңыз
Мәліметтер
Two-way from the moment it is connected (owner ruling, 2026-09-03). The first sync runs inside this request, so the 201 already carries the project's fields — a connect that returned an empty board and left the customer waiting for the sweep would read as a broken connection. `auth_kind: app` stores only the **installation id**, which is public and appears in the customer's own install URL; nothing long-lived is at rest and an hour-long token is minted per use. `auth_kind: pat` writes the token straight to Vault and never echoes it.
Сұрау денесі
| Аты | Tүрі | Міндетті | Мазмұны |
|---|---|---|---|
project_node_id | string | Иә | — |
project_number | integer | Иә | — |
owner_login | string | Иә | — |
owner_type | string<organization, user> | Жоқ | — |
auth_kind | GitHubAuthKind | Жоқ | `app` is the Zinn® GitHub App installation — per-repository scope the customer chooses on GitHub's own screen, revocable by them in one click, belonging to their organisation ra… |
installation_id | string | Жоқ | — |
token | string | Жоқ | — |
board_id | string | Жоқ | Optional. A project may be connected purely for the roll-up and never attached to client work. |
title | string | Жоқ | — |
org_id | string | Жоқ | — |
Жауап
| Аты | Tүрі | Міндетті | Мазмұны |
|---|---|---|---|
id | string | Жоқ | — |
board_id | string | Жоқ | — |
auth_kind | GitHubAuthKind | Жоқ | `app` is the Zinn® GitHub App installation — per-repository scope the customer chooses on GitHub's own screen, revocable by them in one click, belonging to their organisation ra… |
installation_id | string | Жоқ | Public — it appears in the customer's own install URL — and showing it is what lets them confirm on GitHub that they are looking at the right installation. |
has_stored_token | boolean | Жоқ | Whether a token is held in Vault for this connection. The token itself is never returned. |
project_node_id | string | Жоқ | — |
project_number | integer | Жоқ | — |
owner_login | string | Жоқ | — |
owner_type | string | Жоқ | — |
title | string | Жоқ | — |
short_description | string | Жоқ | — |
closed | boolean | Жоқ | — |
public | boolean | Жоқ | — |
direction | GitHubSyncDirection | Жоқ | `both` is the default (owner ruling, 2026-09-03: a new connection is read-write immediately). `pull` is the honest remedy when a push keeps being refused. |
notice_delivery | GitHubNoticeDelivery | Жоқ | Where a connection's overdue / gone-quiet / over-WIP notices are allowed to go. Both values raise the same notices and both render them on the board — the difference is delivery… |
views | object[] | Жоқ | The project's saved views on GitHub, replaced whole on every read so a view deleted there disappears here rather than lingering as a link GitHub answers with a 404. Rendered as… |
url | string | Жоқ | — |
webhook_state | GitHubWebhookState | Жоқ | Whether GitHub pushes changes at us, and if not, whose move it is. **Three outcomes and not a boolean.** `automatic` — we created the organisation webhook. `manual` — GitHub wou… |
last_synced_at | string | Жоқ | When a sync last SUCCEEDED. What the staleness alarm fires off. |
last_attempted_at | string | Жоқ | When a sync was last ATTEMPTED, stamped for every connection the sweep reaches before the result is read. Two columns rather than one: a cursor only a successful pass advanced w… |
last_error | string | Жоқ | — |
created_at | string | Жоқ | — |
fields | GitHubProjectField[] | Жоқ | The project's fields, with their single-select options and any work-in-progress limits set on them. Returned with the connection rather than fetched separately, because a board… |
Бұл соңғы нүкте қайтара алатын қателер
401 · 403 · 422