Skip to content

Conversation

nealedj
Copy link

@nealedj nealedj commented Sep 17, 2025

Description

Fixes: #698

Changes

  • Allow missing CONFLUENCE_URL/JIRA_URL when ATLASSIAN_OAUTH_ENABLE is set
  • Mark services as available in environment detection for BYOT mode
  • Preserve original is_cloud behavior based on oauth_config.cloud_id presence

Testing

  • Unit tests added/updated
  • Integration tests passed
  • Manual checks performed: Tested using my integration from Librechat.

Checklist

  • Code follows project style guidelines (linting passes).
  • Tests added/updated for changes.
  • All tests pass locally.
  • Documentation updated (if needed).

Fixes: "com.atlassian.confluence.api.service.exceptions.GoneException: This deprecated endpoint has been removed."
error when using ATLASSIAN_OAUTH_ENABLE (BYOT) + Atlassian Cloud.

**Changes:**
- Allow missing CONFLUENCE_URL/JIRA_URL when ATLASSIAN_OAUTH_ENABLE is set
- Mark services as available in environment detection for BYOT mode
- Preserve original is_cloud behavior based on oauth_config.cloud_id presence

**Configuration behavior:**
- ATLASSIAN_OAUTH_ENABLE=true + no URLs → creates minimal OAuth config
- is_cloud determination depends on ATLASSIAN_OAUTH_CLOUD_ID presence:
  - With ATLASSIAN_OAUTH_CLOUD_ID → is_cloud = True (Cloud API)
  - Without ATLASSIAN_OAUTH_CLOUD_ID → is_cloud = False (Server API)
- When URLs are provided, they override cloud detection as before

**Files modified:**
- src/mcp_atlassian/confluence/config.py
- src/mcp_atlassian/jira/config.py
- src/mcp_atlassian/utils/environment.py

**Tests added:**
- BYOT OAuth scenarios with/without URLs and cloud_id
- Environment service detection for minimal OAuth mode
- Various ATLASSIAN_OAUTH_ENABLE value format validation

This enables BYOT (Bring Your Own Token) OAuth deployments where user
tokens are provided via HTTP headers without requiring static service
URL configuration, while maintaining backward compatibility.
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.

[Bug]: Confluence V1 API used with Cloud + ATLASSIAN_OAUTH_ENABLE=true
1 participant