Skip to content

Commit cb0344d

Browse files
committed
docs: Data Center is a surface the documentation knows about
Six pages and the LLM index still described three surfaces, and the landing page still called the library a Jira Cloud client. `jira.js/server` was missing from both subpath tables, so the one place a reader looks for it said it does not exist. Two counts in the changelog were measured before the naming tables settled and were wrong by the time they shipped: two hundred and six operations share a name with a Cloud one, not a hundred and seventy-four, and eighty-seven models, not thirty-seven. The 3LO page now says which product it is about. A self-hosted instance is its own authorization server, and a reader who arrives there with a Data Center instance needs to leave.
1 parent 132ad28 commit cb0344d

14 files changed

Lines changed: 48 additions & 25 deletions

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 6.3.0
44

5-
Jira Data Center gets a client. `createServerClient` is a fourth surface alongside Cloud, Agile and Service Management — not the Cloud client pointed elsewhere, because the two APIs differ in more than their address: `/rest/api/2` against `/rest/api/3`, wiki markup against Atlassian Document Format, `name` and `key` against `accountId`. Of four hundred and thirty-five operations, a hundred and seventy-four share a name with a Cloud one and thirty-seven share a schema name; nothing else is common but the transport.
5+
Jira Data Center gets a client. `createServerClient` is a fourth surface alongside Cloud, Agile and Service Management — not the Cloud client pointed elsewhere, because the two APIs differ in more than their address: `/rest/api/2` against `/rest/api/3`, wiki markup against Atlassian Document Format, `name` and `key` against `accountId`. Of four hundred and thirty-five operations, two hundred and six share a name with a Cloud one and eighty-seven share a model name; nothing else is common but the transport.
66

77
Every one of those operations has been called against a running Jira Data Center instance. That is what the rest of these notes are: Atlassian generates the Data Center document from Java annotations rather than writing it, and it is wrong in ways reading cannot reveal.
88

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ The surface subpaths carry the types alongside the functions, so a type-only imp
454454
import type { Issue, GetIssue } from 'jira.js/cloud';
455455
```
456456

457-
The three surfaces are not re-exported from the root — they collide on a handful of names, so import from the one you mean.
457+
The four surfaces are not re-exported from the root — they collide on a handful of names, so import from the one you mean.
458458

459459
> Deep imports need an `exports`-aware resolver: `moduleResolution: "bundler"`, `"node16"` or `"nodenext"`. The legacy `"node"` resolution cannot see them, and cannot load an ESM-only package either.
460460

README.ru.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ const issue = await getIssue(client, { issueIdOrKey: 'KEY-1' });
451451
import type { Issue, GetIssue } from 'jira.js/cloud';
452452
```
453453

454-
Три поверхности не реэкспортируются из корня — они сталкиваются на десятке имён, импортируйте из нужной.
454+
Четыре поверхности не реэкспортируются из корня — они сталкиваются на десятке имён, импортируйте из нужной.
455455

456456
> Глубоким импортам нужен резолвер, понимающий `exports`: `moduleResolution: "bundler"`, `"node16"` или `"nodenext"`. Легаси-резолвинг `"node"` их не видит и ESM-only пакет всё равно не загрузит.
457457

docs/guide/getting-started.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
# Getting Started
22

3-
`jira.js` is a TypeScript client for the Atlassian Jira Cloud REST APIs, for [Node.js](https://nodejs.org/)
4-
and browsers. It covers three surfaces:
3+
`jira.js` is a TypeScript client for the Atlassian Jira REST APIs, for [Node.js](https://nodejs.org/)
4+
and browsers. It covers four surfaces:
55

66
- **[Jira Cloud platform](https://developer.atlassian.com/cloud/jira/platform/rest/)** — issues, projects, fields, workflows
77
- **[Jira Agile](https://developer.atlassian.com/cloud/jira/software/rest/intro/)** — boards, sprints, backlog
88
- **[Jira Service Management](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/)** — requests, queues, organizations
9+
- **[Jira Data Center](https://developer.atlassian.com/server/jira/platform/rest/)** — the self-hosted API, platform and agile in one client
10+
11+
The first three are Cloud. Data Center is a surface of its own rather than the Cloud one pointed at another
12+
host — see [Jira Data Center](./data-center).
913

1014
## Install
1115

docs/guide/installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import { createCloudClient } from 'jira.js';
2828
There is no CommonJS build. `require('jira.js')` does not work; from a CommonJS module, use a dynamic
2929
`await import('jira.js')`.
3030

31-
The package also exposes surface-level subpaths — `jira.js/cloud`, `jira.js/agile`, `jira.js/serviceDesk`
32-
and `jira.js/core` — carrying the flat functions along with every parameter and response type. See
31+
The package also exposes surface-level subpaths — `jira.js/cloud`, `jira.js/agile`, `jira.js/serviceDesk`,
32+
`jira.js/server` and `jira.js/core` — carrying the flat functions along with every parameter and response type. See
3333
[Tree-Shaking](./tree-shaking).
3434

3535
## Requirements

docs/guide/oauth2-authentication.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ stateless helpers to drive the browser consent flow, and an auto-refreshing clie
55
the access token fresh, transparently handles the **rotating refresh token**, and resolves the
66
`cloudId` so requests go through the Atlassian API gateway.
77

8+
> This page is about **Jira Cloud**. A self-hosted instance is its own authorization server: there is no
9+
> `cloudId` to resolve and nothing goes near `auth.atlassian.com`. See
10+
> [Jira Data Center](./data-center#oauth-2-0) for that flow.
11+
812
> ⚠️ **`clientSecret` and refresh are server-side only.** Never ship the client secret or
913
> refresh token to a browser. The simple `{ accessToken }` mode (no refresh) is the only part
1014
> safe for a browser, and even then the token is a user credential.

docs/guide/tree-shaking.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ where it does.
2929

3030
| Import | Contents |
3131
| --- | --- |
32-
| `jira.js` | The three factories, the error types and their predicates, the OAuth helpers |
32+
| `jira.js` | The four factories, the error types and their predicates, the OAuth helpers |
3333
| `jira.js/core` | `createClient`, the transport, errors, OAuth, multipart helpers |
3434
| `jira.js/cloud` | Platform API functions, parameters and response types |
3535
| `jira.js/agile` | Agile API functions, parameters and response types |
3636
| `jira.js/serviceDesk` | Service Management functions, parameters and response types |
37+
| `jira.js/server` | Data Center functions, parameters and response types |
3738
| `jira.js/browser` | Prebuilt browser bundle |
3839

3940
The surface subpaths carry the types alongside the functions, so a type-only import costs nothing at
@@ -44,8 +45,9 @@ import type { Issue } from 'jira.js/cloud';
4445
import type { GetIssue } from 'jira.js/cloud';
4546
```
4647

47-
The three surfaces are not re-exported from the root, because they collide on a handful of names — import
48-
from the surface you mean.
48+
The four surfaces are not re-exported from the root, because they collide on a handful of names — import
49+
from the surface you mean. Data Center collides hardest: eighty-seven of its models share a name with a
50+
Cloud one and describe something else.
4951

5052
> Deep imports need an `exports`-aware resolver: `moduleResolution: "bundler"`, `"node16"` or
5153
> `"nodenext"`. The legacy `"node"` resolution cannot see them, and cannot load an ESM-only package

docs/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: jira.js — Jira REST API client for Node.js & TypeScript
44
hero:
55
name: jira.js
66
text: Jira REST API client
7-
tagline: Type-safe client for the Jira Cloud platform, Agile and Service Management APIs — Node.js and browsers, ESM, every response validated.
7+
tagline: Type-safe client for Jira — cloud or self-hosted. Node.js and browsers, ESM, every response validated.
88
image:
99
src: /logo.svg
1010
alt: jira.js
@@ -20,8 +20,8 @@ hero:
2020
link: https://github.com/MrRefactoring/jira.js
2121
features:
2222
- icon: 🧩
23-
title: Full Cloud coverage
24-
details: The Jira Cloud platform API, Agile (boards, sprints, backlog) and Jira Service Management — nearly every endpoint, one client.
23+
title: Cloud and Data Center
24+
details: The Jira Cloud platform API, Agile and Service Management, and the self-hosted Data Center API — nearly every endpoint, one client.
2525
- icon: 🔒
2626
title: TypeScript-first
2727
details: Every endpoint, parameter and model is typed, and the published package ships its sources so "go to definition" lands on the real thing.

docs/ru/guide/getting-started.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
# Быстрый старт
22

3-
`jira.js` — TypeScript-клиент к REST API Atlassian Jira Cloud для [Node.js](https://nodejs.org/) и
4-
браузеров. Покрывает три поверхности:
3+
`jira.js` — TypeScript-клиент к REST API Atlassian Jira для [Node.js](https://nodejs.org/) и
4+
браузеров. Покрывает четыре поверхности:
55

66
- **[Платформа Jira Cloud](https://developer.atlassian.com/cloud/jira/platform/rest/)** — задачи, проекты, поля, воркфлоу
77
- **[Jira Agile](https://developer.atlassian.com/cloud/jira/software/rest/intro/)** — доски, спринты, бэклог
88
- **[Jira Service Management](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/)** — обращения, очереди, организации
9+
- **[Jira Data Center](https://developer.atlassian.com/server/jira/platform/rest/)** — self-hosted API, платформа и agile в одном клиенте
10+
11+
Первые три — облачные. Data Center — отдельная поверхность, а не облачный клиент, направленный на другой
12+
хост; см. [Jira Data Center](./data-center).
913

1014
## Установка
1115

docs/ru/guide/installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ import { createCloudClient } from 'jira.js';
3030
Сборки CommonJS нет. `require('jira.js')` не работает; из CommonJS-модуля используйте динамический
3131
`await import('jira.js')`.
3232

33-
Пакет также отдаёт подпути по поверхностям — `jira.js/cloud`, `jira.js/agile`, `jira.js/serviceDesk` и
34-
`jira.js/core`, — в которых лежат плоские функции вместе со всеми типами параметров и ответов. См.
33+
Пакет также отдаёт подпути по поверхностям — `jira.js/cloud`, `jira.js/agile`, `jira.js/serviceDesk`,
34+
`jira.js/server` и `jira.js/core`, — в которых лежат плоские функции вместе со всеми типами параметров и ответов. См.
3535
[Tree-Shaking](./tree-shaking).
3636

3737
## Требования

0 commit comments

Comments
 (0)