Skip to content

Conversation

@aldevv
Copy link
Contributor

@aldevv aldevv commented Feb 2, 2026

Summary by CodeRabbit

  • New Features

    • Added SCIM-based account provisioning for the Atlassian connector, including UI prompts and a Provision icon to initiate automated account provisioning.
  • Documentation

    • Guidance for gathering and configuring SCIM credentials (token and base URL).
    • Updated deployment and configuration docs with optional SCIM provisioning notes for cloud and self‑hosted setups.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 2, 2026

📝 Walkthrough

Walkthrough

Adds SCIM-based account provisioning documentation and configuration guidance for the Atlassian connector, including steps to gather SCIM credentials, new environment variables (BATON_SCIM_TOKEN, BATON_SCIM_BASE_URL), UI prompts, and updated Kubernetes manifest examples for cloud and self-hosted setups.

Changes

Cohort / File(s) Summary
Atlassian SCIM docs & config
baton/atlassian.mdx
Adds "Optional: Gather SCIM credentials" section, instructions to paste BATON_SCIM_TOKEN and BATON_SCIM_BASE_URL in setup flows, updates capability table to indicate provisioning, and adds SCIM env var examples to YAML/Kubernetes manifests and Secrets.
Capabilities table update
baton/capabilities.mdx
Updates Atlassian row to show provisioning icons (Key and User) in the Provisioning column.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I nibble docs with tiny paws,

"Tokens, URLs—follow the laws!"
Invite and create with a hop and a hum,
New users arrive—one, two, then some. 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'add docs for atlassian account provisioning' directly and accurately reflects the main change: adding documentation for Atlassian's SCIM-based account provisioning capability.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
baton/atlassian.mdx (1)

1-8: ⚠️ Potential issue | 🟡 Minor

Add the required editor refresh comment.

MDX docs must include {/* Editor Refresh: YYYY-MM-DD */}. Please add it right after the frontmatter.

✅ Suggested insertion
 ---
 title: "Set up an Atlassian connector"
 description: "ConductorOne provides identity governance and just-in-time provisioning for Atlassian. Integrate your Atlassian instance with ConductorOne to run user access reviews (UARs) and enable just-in-time access requests."
 og:title: "Set up an Atlassian connector"
 og:description: "ConductorOne provides identity governance and just-in-time provisioning for Atlassian. Integrate your Atlassian instance with ConductorOne to run user access reviews (UARs) and enable just-in-time access requests."
 sidebarTitle: "Atlassian"
 ---
+{/* Editor Refresh: 2026-02-02 */}
🤖 Fix all issues with AI agents
In `@baton/atlassian.mdx`:
- Line 19: Replace the incorrect sentence on line 19 with a corrected, styled
version that uses second-person ("you can"), the relative path
../product/admin/account-provisioning, and specifies SCIM 2.0; remove the false
claim that SCIM sends invitation emails and instead note that new users are
created without passwords and must be invited separately via the Admin UI or the
Org Admin API (e.g., "You can use the Atlassian connector to provision accounts
automatically with the SCIM 2.0 API. See [automatic account
provisioning](../product/admin/account-provisioning). New users are created
without passwords and must be invited separately through the Admin UI or API.").
- Around line 55-75: Change the heading "Gather SCIM credentials for account
provisioning (Optional)" to sentence case ("Gather SCIM credentials for account
provisioning (optional)"); add a short "Prerequisites" paragraph before the
<Steps> block listing at minimum Atlassian admin access and that
provisioning/Identity Provider setup is required; and fix the nested list inside
the <Step> that mentions BATON_SCIM_TOKEN and BATON_SCIM_BASE_URL by increasing
its indentation or converting it to an explicit nested bullet list inside the
<Step> component so it renders correctly as a sublist.


This connector can provision roles in Atlassian workspaces. Depending on your Atlassian implementation, not all roles may be available for all workspaces, and some roles can be only configured if the user meets certain requirements. The Atlassian connector is unable to predict whether a role will be available to a user before the role is requested, but the connector will show an error if a requested role cannot be provisioned.

The Atlassian connector supports [automatic account provisioning](/product/admin/account-provisioning) via SCIM API. New users are created without passwords and receive invitation emails to activate their accounts.
Copy link
Contributor

@coderabbitai coderabbitai bot Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Check the file exists and its content
cat baton/atlassian.mdx

Repository: ConductorOne/docs

Length of output: 11861


🏁 Script executed:

# Check directory structure to verify the relative path suggestion
find . -name "account-provisioning*" -o -name "*provisioning*" | head -20

Repository: ConductorOne/docs

Length of output: 313


🌐 Web query:

Atlassian SCIM 2.0 API documentation user provisioning invitation email

💡 Result:

Atlassian’s SCIM 2.0 user provisioning (Atlassian Access / User provisioning REST API) does not send an “invitation” email when a user is created/synced via SCIM. Atlassian explicitly states: “We don’t send users an invitation when they’re provisioned from an identity provider through SCIM …”. [1][2]

If you need an email to go out, you must use a separate invite flow, for example:

  • Admin UI: Directory → Users → Invite users (and you can also “Resend invite” for a specific user). [2]
  • Org Admin API (Invite user to org): POST /admin/v1/orgs/{orgId}/users/invite and set sendNotification: true to send the email (optionally with notificationText). [3]

Relevant docs:

  • User provisioning (SCIM) REST API landing pages (SCIM integration overview / getting started). [4]
  • User provisioning behavior (“no invitation email via SCIM”). [1]

Sources
[1] Atlassian Support – Understand user provisioning (support.atlassian.com)
[2] Atlassian Support – Invite a user / create, edit, and delete users (support.atlassian.com)
[3] Atlassian Developer – Organizations REST API: Invite user to org (developer.atlassian.com)
[4] Atlassian Developer – User provisioning REST API (SCIM) – About / Getting started (developer.atlassian.com)

Citations:


Correct the factual error and apply documentation style standards.

The relative path suggestion is correct, and specifying SCIM 2.0 aligns with coding guidelines. However, the core claim in this sentence is factually incorrect: Atlassian's official documentation explicitly states that SCIM provisioning does not send invitation emails. Per Atlassian, "We don't send users an invitation when they're provisioned from an identity provider through SCIM." Atlassian Docs: Understand user provisioning

Users only receive invitations through separate flows (Admin UI or the Org Admin API with sendNotification: true).

Rewrite line 19 to:

  • Use second person ("you can")
  • Apply the correct relative path (../product/admin/account-provisioning)
  • Specify SCIM 2.0
  • Remove the incorrect statement about invitation emails, or clarify that invitations require a separate process

Example: "You can use the Atlassian connector to provision accounts automatically with the SCIM 2.0 API. See automatic account provisioning. New users are created without passwords and must be invited separately through the Admin UI or API."

🤖 Prompt for AI Agents
In `@baton/atlassian.mdx` at line 19, Replace the incorrect sentence on line 19
with a corrected, styled version that uses second-person ("you can"), the
relative path ../product/admin/account-provisioning, and specifies SCIM 2.0;
remove the false claim that SCIM sends invitation emails and instead note that
new users are created without passwords and must be invited separately via the
Admin UI or the Org Admin API (e.g., "You can use the Atlassian connector to
provision accounts automatically with the SCIM 2.0 API. See [automatic account
provisioning](../product/admin/account-provisioning). New users are created
without passwords and must be invited separately through the Admin UI or API.").

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aldevv I don't know if CodeRabbit knows what it's talking about here ... can you review this comment and decide if we need to make an update? Thanks!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Comment on lines 55 to 75
### Gather SCIM credentials for account provisioning (Optional)

If you plan to use account provisioning to create new users, you'll need SCIM API credentials.

<Steps>
<Step>
Log into [your Atlassian account](https://admin.atlassian.com/).
</Step>
<Step>
Navigate to **Security** > **User Security** > **Identity Providers**.
</Step>
<Step>
Configure an identity provider with provisioning enabled. After configuring it, you will
get a window with both:
- The **SCIM token** (`BATON_SCIM_TOKEN`)
- The **SCIM base URL** (`BATON_SCIM_BASE_URL`)
</Step>
<Step>
Carefully copy and save both values. You'll need them to configure account provisioning.
</Step>
</Steps>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, find the file and check its location
fd -t f "atlassian.mdx"

Repository: ConductorOne/docs

Length of output: 80


🏁 Script executed:

# Read the specific section mentioned (lines 55-75)
sed -n '50,80p' $(fd -t f "atlassian.mdx") | cat -n

Repository: ConductorOne/docs

Length of output: 1510


🏁 Script executed:

# Check if there are any other references or context in the file about prerequisites
rg -n "Prerequisites|prerequisites" baton/atlassian.mdx -A 2 -B 2

Repository: ConductorOne/docs

Length of output: 43


🏁 Script executed:

# Check the full structure of the file to understand context
head -60 baton/atlassian.mdx | tail -15

Repository: ConductorOne/docs

Length of output: 630


🏁 Script executed:

# Check for other procedural sections in the file to understand the pattern
rg -n "^###" baton/atlassian.mdx | head -20

Repository: ConductorOne/docs

Length of output: 440


🏁 Script executed:

# Check if other sections have prerequisites sections
rg -n -B 5 "<Steps>" baton/atlassian.mdx | head -40

Repository: ConductorOne/docs

Length of output: 1311


🏁 Script executed:

# Check the exact structure and content of the suggested prerequisites section
cat -n baton/atlassian.mdx | sed -n '55,75p'

Repository: ConductorOne/docs

Length of output: 937


🏁 Script executed:

# Look for how prerequisites are formatted in other parts of the file
rg -B 10 "^<Steps>" baton/atlassian.mdx | head -40

Repository: ConductorOne/docs

Length of output: 1397


🏁 Script executed:

# Check the context around section title to understand if this is truly optional
cat -n baton/atlassian.mdx | sed -n '50,85p'

Repository: ConductorOne/docs

Length of output: 1715


🏁 Script executed:

# Review the exact line indentation in the current file
od -c baton/atlassian.mdx | sed -n '2200,2300p'

Repository: ConductorOne/docs

Length of output: 101


🏁 Script executed:

# Check if there are other examples of prerequisites sections in the file
cat -n baton/atlassian.mdx | grep -A 3 "Prerequisites\|To complete this task"

Repository: ConductorOne/docs

Length of output: 302


🏁 Script executed:

# Verify the context around the identity provider step more carefully
cat -n baton/atlassian.mdx | sed -n '55,75p' | grep -A 2 "identity provider"

Repository: ConductorOne/docs

Length of output: 252


🏁 Script executed:

# Check exact indentation of the Step content and the list items
python3 << 'EOF'
with open('baton/atlassian.mdx', 'r') as f:
    lines = f.readlines()
    for i in range(66, 71):  # Lines 67-71 (0-indexed, so 66-70)
        line = lines[i]
        spaces = len(line) - len(line.lstrip())
        print(f"Line {i+1}: {spaces} spaces | {repr(line[:50])}")
EOF

Repository: ConductorOne/docs

Length of output: 368


🏁 Script executed:

# Check how other procedural sections structure prerequisites
rg -B 15 "^### Create\|^### Configure\|^### Set up" baton/atlassian.mdx | head -50

Repository: ConductorOne/docs

Length of output: 43


🏁 Script executed:

# Check the frontmatter and overall structure to confirm this is MDX
head -20 baton/atlassian.mdx

Repository: ConductorOne/docs

Length of output: 1720


🏁 Script executed:

# Review other conditional/optional sections to see how they handle prerequisites
rg -B 3 -A 10 "^\(Optional\)" baton/atlassian.mdx

Repository: ConductorOne/docs

Length of output: 43


Fix heading case, add prerequisites, and indent the SCIM list inside the Step.

This section is procedural, so add prerequisites before the steps and use sentence‑case in the heading. Also increase indentation of the nested bullet list for proper rendering inside the <Step> component.

Suggested edits
-### Gather SCIM credentials for account provisioning (Optional)
+### Gather SCIM credentials for account provisioning (optional)
+
+**Prerequisites**
+- You are an Atlassian org admin.
+- You have an identity provider with provisioning enabled.
 
 <Steps>
     <Step>
     Log into [your Atlassian account](https://admin.atlassian.com/).
     </Step>
     <Step>
     Navigate to **Security** > **User Security** > **Identity Providers**.
     </Step>
     <Step>
-    Configure an identity provider with provisioning enabled. After configuring it, you will
-        get a window with both:
-    - The **SCIM token** (`BATON_SCIM_TOKEN`)
-    - The **SCIM base URL** (`BATON_SCIM_BASE_URL`)
+    Configure an identity provider with provisioning enabled. You will see a window with:
+      - The **SCIM token** (`BATON_SCIM_TOKEN`)
+      - The **SCIM base URL** (`BATON_SCIM_BASE_URL`)
     </Step>
🤖 Prompt for AI Agents
In `@baton/atlassian.mdx` around lines 55 - 75, Change the heading "Gather SCIM
credentials for account provisioning (Optional)" to sentence case ("Gather SCIM
credentials for account provisioning (optional)"); add a short "Prerequisites"
paragraph before the <Steps> block listing at minimum Atlassian admin access and
that provisioning/Identity Provider setup is required; and fix the nested list
inside the <Step> that mentions BATON_SCIM_TOKEN and BATON_SCIM_BASE_URL by
increasing its indentation or converting it to an explicit nested bullet list
inside the <Step> component so it renders correctly as a sublist.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
baton/atlassian.mdx (1)

8-9: ⚠️ Potential issue | 🟡 Minor

Add required Editor Refresh comment.

Suggested edit
 ---
 title: "Set up an Atlassian connector"
 description: "ConductorOne provides identity governance and just-in-time provisioning for Atlassian. Integrate your Atlassian instance with ConductorOne to run user access reviews (UARs) and enable just-in-time access requests."
 og:title: "Set up an Atlassian connector"
 og:description: "ConductorOne provides identity governance and just-in-time provisioning for Atlassian. Integrate your Atlassian instance with ConductorOne to run user access reviews (UARs) and enable just-in-time access requests."
 sidebarTitle: "Atlassian"
 ---
+{/* Editor Refresh: 2026-02-04 */}

As per coding guidelines, add editor refresh comment in format {/* Editor Refresh: YYYY-MM-DD */} to MDX documentation files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants