board-github
POST /v1/board-github/links
Connect a GitHub Project to this organisation.
ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ
ផ្ញើគ្រាប់ចុច API ជាតូកែន bearer ។ ចំណុចបញ្ចប់នេះមិនបញ្ជាក់ពីសិទ្ធិជាក់លាក់ណាមួយនៅក្នុងការបញ្ជាក់នោះទេ ដូច្នេះសូមផ្ដល់សិទ្ធិអប្បបរមាដែលគ្រាប់ចុចរបស់អ្នកត្រូវការ ហើយពិនិត្យមើលការឆ្លើយតបជំនួសឱ្យការសន្មត់។
កន្លែងដែលលេខសម្គាល់អង្គការរបស់អ្នកត្រូវដាក់
ចំនុចបញ្ចប់នេះទទួលយក org_id ជាវាលមួយនៅក្នុងតួ JSON។
លេខសម្គាល់អង្គការរបស់អ្នកស្ថិតនៅលើអេក្រង់គ្រាប់ចុច 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.
សំណើរបស់រាងកាយ
| ឈ្មោះ | ប្រភេទ | តម្រូវការ | តើវាជាអ្វី |
|---|---|---|---|
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 | ទេ | — |
ផ្អាកដំណើរការ
| ឈ្មោះ | ប្រភេទ | តម្រូវការ | តើវាជាអ្វី |
|---|---|---|---|
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