Connections
Atlassian
Camper manages Atlassian Teams so team membership can track your org chart.
This connection was previously labelled Jira in Camper. Resources and behaviour are the same — the product name and logo now use the Atlassian mark.
Prerequisites
- Camper owner or admin
- An Atlassian organization admin who can manage Teams (required — see below)
- A classic unscoped API token minted under that org admin (not a scoped token)
- Your Atlassian organization id and site host (e.g.
your-company.atlassian.net)
Why organization admin?
Camper creates and links Atlassian Teams as verified / org-admin-managed (teamType = ORG_ADMIN_MANAGED). Only organization admins can create that team type and promote existing OPEN/MEMBER_INVITE teams to managed. A site admin or project admin is not enough.
| If the token is… | What happens |
|---|---|
| Organization admin | Create managed teams and promote attached teams on reconcile |
| Not org admin | Health may pass listing, but create / promote fails with a permission error |
This is also called out in the Connections → Atlassian setup UI (prepare callout and admin-email helper).
Summary of steps
- Collect org id, site host, admin email, and classic API token
- Connections → Atlassian → Set up and paste credentials
- Confirm health, then link Teams under Resources
Connect (classic API token)
- Open Connections → Atlassian → Set up.
- Paste the organization id from admin.atlassian.com → Organization → Settings (UUID in the URL).
- As that organization admin, create a classic unscoped API token at id.atlassian.com → Security → API tokens.
Do not create an “API token with scopes” for this connection. - Enter:
- Admin email — the organization admin account that owns the token (must match the token owner)
- API token — the classic token
- Site host — e.g.
your-company.atlassian.net
- Connect. Camper seals the token, health-checks Teams for that org, and confirms on Done.
Token requirements
| Do | Don’t |
|---|---|
| Classic unscoped personal API token | “API token with scopes” |
| Org admin who can manage Teams | A user who cannot see or edit Teams |
| Site host matching the site you care about | Leaving site host blank |
How Camper talks to Teams
| Operation | API |
|---|---|
| List / search teams, read members | GraphQL queries (teamSearchV2, teamV2) |
| Create, rename, delete team | Teams Public REST |
| Add / remove members | Teams Public REST (…/members/add, …/members/remove) |
Experimental GraphQL mutations (CreateTeamInput, AddTeamMembersInput, …) are not used — they are missing from Atlassian’s gateway schema and fail with UnknownType.
Browser Connect with Atlassian (OAuth) is not available yet for third-party apps. The classic unscoped API token path is the supported product path today.
Verified (managed) teams
Camper creates Teams as org-admin-managed (teamType = ORG_ADMIN_MANAGED) via the Teams Public REST API so they show as verified in Atlassian.
| Situation | What Camper does |
|---|---|
| Create managed team | REST create with teamType = ORG_ADMIN_MANAGED (waits for success before saving in Camper) |
| Attach existing team | Membership sync only — Public REST cannot always promote OPEN teams to managed |
| Already verified / managed | No change |
The connecting account must be an organization admin who can manage Teams; otherwise create may fail with a permission error.
Membership
Camper adds and removes people on Atlassian Teams via GraphQL. Identity email is resolved to an Atlassian account when site host is set.
If a person cannot be found (or privacy settings hide them), Camper records drift rather than failing the whole reconcile batch.