Skip to main content
Glama

list_deployment_history

Retrieve deployment history for a Bitbucket environment to track status, commits, and timestamps for monitoring and auditing purposes.

Instructions

Get deployment history for a specific environment.

Args: repo_slug: Repository slug environment_uuid: Environment UUID (from list_environments) limit: Maximum number of results (default: 20) Returns: List of deployments with status, commit, and timestamps

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_slugYes
environment_uuidYes
limitNo

Implementation Reference

  • MCP tool handler for list_deployment_history: validates params, calls BitbucketClient method, formats output with DeploymentSummary Pydantic models.
    @mcp.tool() @handle_bitbucket_error @formatted def list_deployment_history( repo_slug: str, environment_uuid: str, limit: int = 20, ) -> dict: """Get deployment history for a specific environment. Args: repo_slug: Repository slug environment_uuid: Environment UUID (from list_environments) limit: Maximum number of results (default: 20) Returns: List of deployments with status, commit, and timestamps """ client = get_client() deployments = client.list_deployment_history( repo_slug, environment_uuid, limit=validate_limit(limit) ) return { "deployments": [DeploymentSummary.from_api(d).model_dump() for d in deployments], }
  • BitbucketClient method implementing the API call to list deployment history using paginated requests to /deployments endpoint.
    def list_deployment_history( self, repo_slug: str, environment_uuid: str, limit: int = 20, ) -> list[dict[str, Any]]: """Get deployment history for an environment. Args: repo_slug: Repository slug environment_uuid: Environment UUID limit: Maximum results to return Returns: List of deployment info dicts """ environment_uuid = ensure_uuid_braces(environment_uuid) return self._paginated_list( self._repo_path(repo_slug, "deployments"), limit=limit, environment=environment_uuid, sort="-state.started_on", )
  • Pydantic model DeploymentSummary for structured output of deployment history entries, with from_api factory method.
    class DeploymentSummary(BaseModel): """Deployment info for history responses.""" uuid: str state: Optional[str] = None commit: str = "" pipeline_uuid: Optional[str] = None started: Optional[str] = None completed: Optional[str] = None @field_validator("started", "completed", mode="before") @classmethod def truncate_ts(cls, v: Any) -> Optional[str]: return truncate_timestamp(v) @classmethod def from_api(cls, data: dict) -> "DeploymentSummary": state_data = data.get("state") or {} release = data.get("release") or {} pipeline = release.get("pipeline") or {} return cls( uuid=data.get("uuid", ""), state=state_data.get("name"), commit=((data.get("commit") or {}).get("hash") or "")[:12], pipeline_uuid=pipeline.get("uuid"), started=state_data.get("started_on"), completed=state_data.get("completed_on"), )

Latest Blog Posts

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/JaviMaligno/mcp-server-bitbucket'

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