Skip to main content
Glama

MCP Atlassian

by ArconixForge
comment.py2.62 kB
""" Confluence comment models. This module provides Pydantic models for Confluence page comments. """ import logging from typing import Any from ..base import ApiModel, TimestampMixin from ..constants import ( CONFLUENCE_DEFAULT_ID, EMPTY_STRING, ) # Import other necessary models using relative imports from .common import ConfluenceUser logger = logging.getLogger(__name__) class ConfluenceComment(ApiModel, TimestampMixin): """ Model representing a Confluence comment. """ id: str = CONFLUENCE_DEFAULT_ID title: str | None = None body: str = EMPTY_STRING created: str = EMPTY_STRING updated: str = EMPTY_STRING author: ConfluenceUser | None = None type: str = "comment" # "comment", "page", etc. @classmethod def from_api_response( cls, data: dict[str, Any], **kwargs: Any ) -> "ConfluenceComment": """ Create a ConfluenceComment from a Confluence API response. Args: data: The comment data from the Confluence API Returns: A ConfluenceComment instance """ if not data: return cls() author = None if author_data := data.get("author"): author = ConfluenceUser.from_api_response(author_data) # Try to get author from version.by if direct author is not available elif version_data := data.get("version"): if by_data := version_data.get("by"): author = ConfluenceUser.from_api_response(by_data) # For title, try to extract from different locations title = data.get("title") container = data.get("container") if not title and container: title = container.get("title") return cls( id=str(data.get("id", CONFLUENCE_DEFAULT_ID)), title=title, body=data.get("body", {}).get("view", {}).get("value", EMPTY_STRING), created=data.get("created", EMPTY_STRING), updated=data.get("updated", EMPTY_STRING), author=author, type=data.get("type", "comment"), ) def to_simplified_dict(self) -> dict[str, Any]: """Convert to simplified dictionary for API response.""" result = { "id": self.id, "body": self.body, "created": self.format_timestamp(self.created), "updated": self.format_timestamp(self.updated), } if self.title: result["title"] = self.title if self.author: result["author"] = self.author.display_name return result

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ArconixForge/mcp-atlassian'

If you have feedback or need assistance with the MCP directory API, please join our Discord server