Liking cljdoc? Tell your friends :D

atlassian.client

Generic Atlassian HTTP core — the ONLY namespace that touches the network.

Built on hato (an idiomatic Clojure wrapper over the JDK 11 java.net.http client). This is a small, generic request engine, NOT a function-per-endpoint wrapper: product surfaces (atlassian.jira., atlassian.bitbucket., atlassian.confluence.*) build their typed functions on top of request.

A client handle is a plain map:

{:http <hato client> ; shared, reusable connection pool :auth "Basic ..." ; Authorization header value :config {...}} ; the resolving config (bases, product, etc.)

Tests never need this: they call the product functions with a stub request fn, so nothing here requires live credentials to exercise.

Generic Atlassian HTTP core — the ONLY namespace that touches the network.

Built on hato (an idiomatic Clojure wrapper over the JDK 11 java.net.http
client). This is a small, generic request engine, NOT a function-per-endpoint
wrapper: product surfaces (atlassian.jira.*, atlassian.bitbucket.*,
atlassian.confluence.*) build their typed functions on top of `request`.

A client handle is a plain map:

  {:http <hato client>   ; shared, reusable connection pool
   :auth "Basic ..."     ; Authorization header value
   :config {...}}         ; the resolving config (bases, product, etc.)

Tests never need this: they call the product functions with a stub `request`
fn, so nothing here requires live credentials to exercise.
raw docstring

atlassian.config

Configuration + auth resolution for the Atlassian Cloud APIs.

Pure where it matters: this namespace reads environment variables (and an optional local, gitignored .env) into compact config maps and reports whether auth is ready WITHOUT making any network call. URL bases and the Authorization header are constructed here so the HTTP layer stays a dumb transport.

No secrets are ever written to tracked files. .env is gitignored.

Configuration + auth resolution for the Atlassian Cloud APIs.

Pure where it matters: this namespace reads environment variables (and an
optional local, gitignored `.env`) into compact config maps and reports
whether auth is ready WITHOUT making any network call. URL bases and the
Authorization header are constructed here so the HTTP layer stays a dumb
transport.

No secrets are ever written to tracked files. `.env` is gitignored.
raw docstring

atlassian.confluence.client

Confluence client handle + the request seam every atlassian.confluence.* endpoint namespace is built on.

Confluence Cloud exposes two REST surfaces on the same site, both authed with the same API token as Jira (Basic email:token):

:v2 (default) -> /wiki/api/v2 modern, cursor-paginated, recommended :v1 -> /wiki/rest/api legacy, still supported, has CQL search etc.

Endpoint namespaces are split by version (atlassian.confluence.v2.* and atlassian.confluence.v1.*) and never build URLs themselves — they call request with a path RELATIVE to the chosen API root:

(require '[atlassian.confluence.client :as confluence]) (def c (confluence/client)) (confluence/request c {:method :get :path "/pages" :query {:limit 25}}) ; v2 (confluence/request c {:api :v1 :method :get :path "/search" :query {:cql "type=page"}})

Pagination: v2 returns {:results [...] :_links {:next "/wiki/api/v2/...?cursor=..."}}. Pass the cursor query param from the next link to page; next-cursor extracts it.

Confluence client handle + the `request` seam every atlassian.confluence.*
endpoint namespace is built on.

Confluence Cloud exposes two REST surfaces on the same site, both authed with
the same API token as Jira (Basic email:token):

  :v2  (default)  -> /wiki/api/v2   modern, cursor-paginated, recommended
  :v1             -> /wiki/rest/api  legacy, still supported, has CQL search etc.

Endpoint namespaces are split by version (atlassian.confluence.v2.* and
atlassian.confluence.v1.*) and never build URLs themselves — they call
`request` with a path RELATIVE to the chosen API root:

  (require '[atlassian.confluence.client :as confluence])
  (def c (confluence/client))
  (confluence/request c {:method :get :path "/pages" :query {:limit 25}})          ; v2
  (confluence/request c {:api :v1 :method :get :path "/search" :query {:cql "type=page"}})

Pagination: v2 returns `{:results [...] :_links {:next "/wiki/api/v2/...?cursor=..."}}`.
Pass the `cursor` query param from the next link to page; `next-cursor` extracts it.
raw docstring

atlassian.confluence.v1.content-children

Confluence v1 content-children / descendants / attachment operations. All fns delegate to atlassian.confluence.client/request with :api :v1.

Confluence v1 content-children / descendants / attachment operations.
All fns delegate to `atlassian.confluence.client/request` with :api :v1.
raw docstring

atlassian.confluence.v1.content-restrictions

Confluence Cloud v1 Content Restrictions API.

Manage read/update restrictions on content by operation, group, and user. All list endpoints accept an optional expand query param.

Confluence Cloud v1 Content Restrictions API.

Manage read/update restrictions on content by operation, group, and user.
All list endpoints accept an optional `expand` query param.
raw docstring

atlassian.confluence.v1.content-watches

Confluence v1 Content Watches API — watch status and watcher management for pages, spaces, labels, and content.

Confluence v1 Content Watches API — watch status and watcher management
for pages, spaces, labels, and content.
raw docstring

atlassian.confluence.v1.labels

Confluence v1 label endpoints: add/remove content labels, query label info.

Confluence v1 label endpoints: add/remove content labels, query label info.
raw docstring

atlassian.confluence.v1.search

Confluence v1 Search API — CQL-based search for content and users.

Confluence v1 Search API — CQL-based search for content and users.
raw docstring

atlassian.confluence.v1.spaces

Confluence v1 Spaces API — create, update, delete spaces and manage space permissions/settings.

Confluence v1 Spaces API — create, update, delete spaces and manage space permissions/settings.
raw docstring

atlassian.confluence.v2.comments

Confluence Cloud v2 Comments API — footer and inline comments.

Cursor-paginated list endpoints return {:results [...] :_links {:next ...}}. Page with the cursor query param; use atlassian.confluence.client/next-cursor to extract the cursor from a response.

Comment bodies use storage representation: {:body {:representation "storage" :value "<p>Hello</p>"}}

Confluence Cloud v2 Comments API — footer and inline comments.

Cursor-paginated list endpoints return {:results [...] :_links {:next ...}}.
Page with the `cursor` query param; use `atlassian.confluence.client/next-cursor`
to extract the cursor from a response.

Comment bodies use storage representation:
  {:body {:representation "storage" :value "<p>Hello</p>"}}
raw docstring

atlassian.confluence.v2.content-properties

Confluence Cloud v2 Content Properties API. Cursor-paginated list responses include :results and :_links {:next ...}; page with the cursor query param.

Confluence Cloud v2 Content Properties API.
Cursor-paginated list responses include :results and :_links {:next ...};
page with the `cursor` query param.
raw docstring

atlassian.confluence.v2.hierarchy

Confluence v2 hierarchy endpoints: ancestors, descendants, children, and direct-children for pages, databases, folders, whiteboards, smart links, and custom content.

All list responses are cursor-paginated: {:results [...] :_links {:next ...}}. Page with the cursor query param; use atlassian.confluence.client/next-cursor to extract it from a response.

Confluence v2 hierarchy endpoints: ancestors, descendants, children, and
direct-children for pages, databases, folders, whiteboards, smart links,
and custom content.

All list responses are cursor-paginated: {:results [...] :_links {:next ...}}.
Page with the `cursor` query param; use `atlassian.confluence.client/next-cursor`
to extract it from a response.
raw docstring

atlassian.confluence.v2.labels

Confluence v2 Label endpoint fns — one per operationId in v2-labels.edn.

Confluence v2 Label endpoint fns — one per operationId in v2-labels.edn.
raw docstring

atlassian.confluence.v2.pages

Confluence Cloud v2 Pages API.

Cursor-paginated list endpoints return {:results [...] :_links {:next ...}}. Page with the cursor query param; use atlassian.confluence.client/next-cursor to extract the cursor from a response.

Page/blogpost bodies use storage representation: {:body {:representation "storage" :value "<p>Hello</p>"}}

Confluence Cloud v2 Pages API.

Cursor-paginated list endpoints return {:results [...] :_links {:next ...}}.
Page with the `cursor` query param; use `atlassian.confluence.client/next-cursor`
to extract the cursor from a response.

Page/blogpost bodies use storage representation:
  {:body {:representation "storage" :value "<p>Hello</p>"}}
raw docstring

atlassian.jira.adf

Atlassian Document Format (ADF) helpers.

Jira Cloud v3 takes and returns rich text as ADF — a nested JSON document tree, not a string. Two directions live here:

  • adf->text : best-effort flatten an ADF value to compact plain text for reading (lossy: tables/media/mentions collapse to text).
  • doc / text->adf / paragraph : build minimal valid ADF documents for write paths (create issue description, add comment, etc.).

Full-fidelity ADF is always reachable by passing your own document map to the endpoint functions; these helpers just cover the common cases.

Atlassian Document Format (ADF) helpers.

Jira Cloud v3 takes and returns rich text as ADF — a nested JSON document
tree, not a string. Two directions live here:

 - `adf->text`  : best-effort flatten an ADF value to compact plain text for
                  reading (lossy: tables/media/mentions collapse to text).
 - `doc` / `text->adf` / `paragraph` : build minimal valid ADF documents for
                  write paths (create issue description, add comment, etc.).

Full-fidelity ADF is always reachable by passing your own document map to the
endpoint functions; these helpers just cover the common cases.
raw docstring

atlassian.jira.attachments

Jira Cloud Issue Attachments API endpoints.

All fns take a client (built with atlassian.jira.client/client) as their first argument. Path params follow as positional args. Query params and request body are passed via an optional trailing opts map.

Jira Cloud Issue Attachments API endpoints.

All fns take a `client` (built with `atlassian.jira.client/client`) as their
first argument. Path params follow as positional args. Query params and
request body are passed via an optional trailing `opts` map.
raw docstring

atlassian.jira.bulk

Jira Cloud bulk issue operations.

All functions delegate to atlassian.jira.client/request. Build a client with (atlassian.jira.client/client) and pass it as the first argument.

Write operations accept a body map and an optional opts map for query params. Read operations accept an optional opts map.

Jira Cloud bulk issue operations.

All functions delegate to `atlassian.jira.client/request`. Build a client
with `(atlassian.jira.client/client)` and pass it as the first argument.

Write operations accept a `body` map and an optional `opts` map for query
params. Read operations accept an optional `opts` map.
raw docstring

atlassian.jira.client

Jira client handle + the request seam every atlassian.jira.* endpoint namespace is built on.

A Jira client is an atlassian.client handle whose :config is a Jira config map (see atlassian.config/jira-config). Build one from the environment with (client), or pass an explicit config to (client cfg).

Endpoint namespaces never build URLs themselves — they call request with a path RELATIVE to the API root and an optional :api selecting which Jira REST surface to hit:

(require '[atlassian.jira.client :as jira]) (def c (jira/client)) (jira/request c {:method :get :path "/issue/ABC-123" :query {:fields "summary,status"}})

;; agile board endpoint: (jira/request c {:api :agile :method :get :path "/board"})

:api is one of :platform (default, /rest/api/3), :agile (/rest/agile/1.0), or :software (/rest/software/1.0).

Jira client handle + the `request` seam every atlassian.jira.* endpoint
namespace is built on.

A Jira client is an `atlassian.client` handle whose `:config` is a Jira config
map (see `atlassian.config/jira-config`). Build one from the environment with
`(client)`, or pass an explicit config to `(client cfg)`.

Endpoint namespaces never build URLs themselves — they call `request` with a
path RELATIVE to the API root and an optional `:api` selecting which Jira REST
surface to hit:

  (require '[atlassian.jira.client :as jira])
  (def c (jira/client))
  (jira/request c {:method :get :path "/issue/ABC-123"
                   :query {:fields "summary,status"}})

  ;; agile board endpoint:
  (jira/request c {:api :agile :method :get :path "/board"})

`:api` is one of :platform (default, /rest/api/3), :agile (/rest/agile/1.0),
or :software (/rest/software/1.0).
raw docstring

atlassian.jira.comments

Jira Cloud issue comments and comment properties.

Covers two tag groups from the Jira Platform v3 REST API:

  • Issue comments (/rest/api/3/issue/{issueIdOrKey}/comment, /rest/api/3/comment/list)
  • Issue comment properties (/rest/api/3/comment/{commentId}/properties/...)

Comment bodies are Atlassian Document Format (ADF). Use atlassian.jira.adf/text->adf to build a valid body from plain text.

Jira Cloud issue comments and comment properties.

Covers two tag groups from the Jira Platform v3 REST API:
  - Issue comments      (/rest/api/3/issue/{issueIdOrKey}/comment, /rest/api/3/comment/list)
  - Issue comment properties (/rest/api/3/comment/{commentId}/properties/...)

Comment bodies are Atlassian Document Format (ADF). Use
`atlassian.jira.adf/text->adf` to build a valid body from plain text.
raw docstring

atlassian.jira.dashboards

Jira Cloud Dashboard endpoints.

All functions take a client (built via atlassian.jira.client/client) as their first arg and delegate to atlassian.jira.client/request.

Jira Cloud Dashboard endpoints.

All functions take a client (built via `atlassian.jira.client/client`) as
their first arg and delegate to `atlassian.jira.client/request`.
raw docstring

atlassian.jira.fieldconfig

Jira field configuration and field scheme endpoints.

Covers two API surface areas:

  • Field schemes (/rest/api/3/config/fieldschemes/*)
  • Issue field configs (/rest/api/3/fieldconfiguration* and /rest/api/3/fieldconfigurationscheme*)

All issue-field-configuration ops are marked DEPRECATED by Atlassian; they still work and are included in full.

Jira field configuration and field scheme endpoints.

Covers two API surface areas:
  - Field schemes      (/rest/api/3/config/fieldschemes/*)
  - Issue field configs (/rest/api/3/fieldconfiguration* and
                         /rest/api/3/fieldconfigurationscheme*)

All issue-field-configuration ops are marked DEPRECATED by Atlassian; they
still work and are included in full.
raw docstring

atlassian.jira.filters

Jira Cloud Filters + Filter Sharing API.

One public function per operation in /rest/api/3/filter. Build a client with atlassian.jira.client/client, then call any function here with it as the first argument.

Jira Cloud Filters + Filter Sharing API.

One public function per operation in /rest/api/3/filter. Build a client with
`atlassian.jira.client/client`, then call any function here with it as the
first argument.
raw docstring

atlassian.jira.issue-properties

Jira Cloud Issue Properties and Issue Type Properties endpoints.

Covers both issue-level and issue-type-level entity property CRUD, plus bulk set/delete operations. All fns delegate to atlassian.jira.client/request.

Jira Cloud Issue Properties and Issue Type Properties endpoints.

Covers both issue-level and issue-type-level entity property CRUD, plus bulk
set/delete operations. All fns delegate to `atlassian.jira.client/request`.
raw docstring

atlassian.jira.issues

Jira Issues API — one public fn per operation in the Issues group.

All fns take a client (built via atlassian.jira.client/client) as the first arg, then required path params, then an optional opts map for query params and/or a body map for write operations.

Description/comment fields that accept rich text expect ADF documents. Use atlassian.jira.adf/text->adf to build one from a plain string.

Jira Issues API — one public fn per operation in the Issues group.

All fns take a `client` (built via `atlassian.jira.client/client`) as the
first arg, then required path params, then an optional `opts` map for query
params and/or a `body` map for write operations.

Description/comment fields that accept rich text expect ADF documents.
Use `atlassian.jira.adf/text->adf` to build one from a plain string.
raw docstring

atlassian.jira.links

Jira issue links and remote issue links endpoints.

Covers three groups of operations:

  • Issue remote links (/rest/api/3/issue/{issueIdOrKey}/remotelink)
  • Issue links (/rest/api/3/issueLink)
  • Issue link types (/rest/api/3/issueLinkType)
Jira issue links and remote issue links endpoints.

Covers three groups of operations:
  - Issue remote links  (/rest/api/3/issue/{issueIdOrKey}/remotelink)
  - Issue links         (/rest/api/3/issueLink)
  - Issue link types    (/rest/api/3/issueLinkType)
raw docstring

atlassian.jira.misc

Miscellaneous Jira Cloud REST API endpoints.

Covers: announcement banners, application properties, application roles, audit records, avatars, global configuration, Jira expressions, license metrics, labels, preferences, redaction, server info, tasks, and webhooks.

Miscellaneous Jira Cloud REST API endpoints.

Covers: announcement banners, application properties, application roles,
audit records, avatars, global configuration, Jira expressions, license
metrics, labels, preferences, redaction, server info, tasks, and webhooks.
raw docstring

atlassian.jira.notifications

Jira notification scheme endpoints.

Covers the /rest/api/3/notificationscheme surface: listing, creating, updating, and deleting notification schemes, and managing individual notifications within a scheme.

Jira notification scheme endpoints.

Covers the /rest/api/3/notificationscheme surface: listing, creating,
updating, and deleting notification schemes, and managing individual
notifications within a scheme.
raw docstring

atlassian.jira.permissions

Jira Cloud permissions, permission schemes, and issue security schemes.

Covers:

  • /mypermissions, /permissions — current-user and all permissions
  • /permissionscheme — CRUD on permission schemes and grants
  • /issuesecurityschemes — CRUD on issue security schemes, levels, and members
  • /project/{id}/permissionscheme, /project/{id}/securitylevel — project-scoped ops
Jira Cloud permissions, permission schemes, and issue security schemes.

Covers:
 - /mypermissions, /permissions — current-user and all permissions
 - /permissionscheme — CRUD on permission schemes and grants
 - /issuesecurityschemes — CRUD on issue security schemes, levels, and members
 - /project/{id}/permissionscheme, /project/{id}/securitylevel — project-scoped ops
raw docstring

atlassian.jira.plans

Jira Plans (Advanced Roadmaps) endpoint functions.

Covers plan lifecycle (create, get, update, archive, trash, duplicate) and team membership within a plan (Atlassian teams and plan-only teams).

All functions take a client built with atlassian.jira.client/client as the first argument.

Jira Plans (Advanced Roadmaps) endpoint functions.

Covers plan lifecycle (create, get, update, archive, trash, duplicate) and
team membership within a plan (Atlassian teams and plan-only teams).

All functions take a client built with `atlassian.jira.client/client` as the
first argument.
raw docstring

atlassian.jira.priorities-statuses

Jira Cloud endpoints for issue priorities, priority schemes, issue resolutions, and statuses.

All functions delegate to atlassian.jira.client/request and take a client handle as their first argument (build one with atlassian.jira.client/client).

Jira Cloud endpoints for issue priorities, priority schemes, issue
resolutions, and statuses.

All functions delegate to `atlassian.jira.client/request` and take a client
handle as their first argument (build one with `atlassian.jira.client/client`).
raw docstring

atlassian.jira.project-roles

Jira Cloud Project Roles and Project Role Actors endpoints.

Covers the /rest/api/3/project/{projectIdOrKey}/role* and /rest/api/3/role* surfaces for managing project roles, their members (actors), and global default actors.

Jira Cloud Project Roles and Project Role Actors endpoints.

Covers the /rest/api/3/project/{projectIdOrKey}/role* and /rest/api/3/role*
surfaces for managing project roles, their members (actors), and global
default actors.
raw docstring

atlassian.jira.projects

Jira Cloud project, component, version, category, and project-template endpoints.

One public fn per operation defined in resources/openapi/groups/projects.edn. All functions delegate to atlassian.jira.client/request.

Jira Cloud project, component, version, category, and project-template endpoints.

One public fn per operation defined in resources/openapi/groups/projects.edn.
All functions delegate to `atlassian.jira.client/request`.
raw docstring

atlassian.jira.search

Jira search and JQL endpoint functions.

Covers issue search, JQL autocomplete, JQL parsing/sanitization, and issue navigator column settings from the Jira Cloud Platform REST API v3.

Jira search and JQL endpoint functions.

Covers issue search, JQL autocomplete, JQL parsing/sanitization, and issue
navigator column settings from the Jira Cloud Platform REST API v3.
raw docstring

atlassian.jira.watchers-votes

Jira Cloud endpoint functions for issue watchers and votes.

Covers the Issue watchers and Issue votes API surfaces:

  • bulk-is-watching POST /rest/api/3/issue/watching
  • get-votes GET /rest/api/3/issue/{issueIdOrKey}/votes
  • add-vote POST /rest/api/3/issue/{issueIdOrKey}/votes
  • remove-vote DELETE /rest/api/3/issue/{issueIdOrKey}/votes
  • get-issue-watchers GET /rest/api/3/issue/{issueIdOrKey}/watchers
  • add-watcher POST /rest/api/3/issue/{issueIdOrKey}/watchers
  • remove-watcher DELETE /rest/api/3/issue/{issueIdOrKey}/watchers
Jira Cloud endpoint functions for issue watchers and votes.

Covers the Issue watchers and Issue votes API surfaces:
  - bulk-is-watching         POST /rest/api/3/issue/watching
  - get-votes                GET  /rest/api/3/issue/{issueIdOrKey}/votes
  - add-vote                 POST /rest/api/3/issue/{issueIdOrKey}/votes
  - remove-vote              DELETE /rest/api/3/issue/{issueIdOrKey}/votes
  - get-issue-watchers       GET  /rest/api/3/issue/{issueIdOrKey}/watchers
  - add-watcher              POST /rest/api/3/issue/{issueIdOrKey}/watchers
  - remove-watcher           DELETE /rest/api/3/issue/{issueIdOrKey}/watchers
raw docstring

atlassian.jira.workflows

Jira Cloud workflow, workflow-scheme, status, and status-category endpoints.

All functions take a client (from atlassian.jira.client/client) as their first argument. Optional query params are passed via the trailing opts map.

Jira Cloud workflow, workflow-scheme, status, and status-category endpoints.

All functions take a `client` (from `atlassian.jira.client/client`) as their
first argument. Optional query params are passed via the trailing `opts` map.
raw docstring

atlassian.jira.worklogs

Jira Cloud worklog, time-tracking, and worklog-property endpoint functions.

Covers:

  • Issue worklogs (CRUD, bulk delete/move, list by ID)
  • Worklog change feeds (deleted/updated since)
  • Time tracking configuration
  • Worklog entity properties

Every function takes a client built by atlassian.jira.client/client as its first argument. Required path params follow; an optional opts map (query params) or a body map (request body) trail at the end per the contract.

Jira Cloud worklog, time-tracking, and worklog-property endpoint functions.

Covers:
 - Issue worklogs (CRUD, bulk delete/move, list by ID)
 - Worklog change feeds (deleted/updated since)
 - Time tracking configuration
 - Worklog entity properties

Every function takes a `client` built by `atlassian.jira.client/client` as
its first argument. Required path params follow; an optional `opts` map (query
params) or a `body` map (request body) trail at the end per the contract.
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close