Skip to content

Commit 705b26f

Browse files
Added high-level diagrams (#1543)
1 parent a3023c4 commit 705b26f

8 files changed

+1025
-0
lines changed

.codeboarding/Atlassian Platform & Marketplace Clients.md

Lines changed: 234 additions & 0 deletions
Large diffs are not rendered by default.

.codeboarding/Bamboo API Client.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
```mermaid
2+
graph LR
3+
Bamboo_API_Client["Bamboo API Client"]
4+
REST_Client_Core["REST Client Core"]
5+
Bamboo_Internal_Helpers["Bamboo Internal Helpers"]
6+
Bamboo_API_Client -- "invokes" --> REST_Client_Core
7+
Bamboo_API_Client -- "utilizes" --> Bamboo_Internal_Helpers
8+
Bamboo_Internal_Helpers -- "invokes" --> REST_Client_Core
9+
```
10+
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%[email protected]?style=flat-square)](mailto:[email protected])
11+
12+
## Component Details
13+
14+
This graph illustrates the architecture of the Bamboo API Client, which facilitates interaction with the Bamboo CI/CD API. The core functionality revolves around the `Bamboo API Client` component, which leverages the `REST Client Core` for all HTTP communications. The `Bamboo Internal Helpers` component provides utility functions to assist the `Bamboo API Client` in processing API responses, particularly for pagination and list handling. The overall purpose is to provide a comprehensive and easy-to-use Python interface for managing various aspects of Bamboo, including projects, build plans, branches, build results, deployments, users, groups, permissions, agents, and reports.
15+
16+
### Bamboo API Client
17+
This component provides a high-level interface for interacting with the Atlassian Bamboo REST API. It includes methods for managing projects, plans, builds, deployments, users, groups, agents, and plugins, abstracting the underlying HTTP communication.
18+
19+
20+
**Related Classes/Methods**:
21+
22+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bamboo.py#L11-L1472" target="_blank" rel="noopener noreferrer">`atlassian.bamboo.Bamboo` (11:1472)</a>
23+
24+
25+
### REST Client Core
26+
This core component handles the fundamental HTTP communication with Atlassian REST APIs. It provides generic methods for GET, POST, PUT, DELETE requests and utility for constructing resource URLs, serving as the backbone for various Atlassian product clients.
27+
28+
29+
**Related Classes/Methods**:
30+
31+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/rest_client.py#L43-L1001" target="_blank" rel="noopener noreferrer">`atlassian.rest_client.AtlassianRestAPI` (43:1001)</a>
32+
33+
34+
### Bamboo Internal Helpers
35+
This component comprises internal utility methods within the Bamboo API Client, primarily responsible for handling common patterns like pagination and list retrieval from the Bamboo REST API.
36+
37+
38+
**Related Classes/Methods**:
39+
40+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bamboo.py#L65-L97" target="_blank" rel="noopener noreferrer">`atlassian.bamboo.Bamboo.base_list_call` (65:97)</a>
41+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bamboo.py#L14-L63" target="_blank" rel="noopener noreferrer">`atlassian.bamboo.Bamboo._get_generator` (14:63)</a>
42+
43+
44+
45+
46+
### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)

.codeboarding/Bitbucket API Client.md

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
```mermaid
2+
graph LR
3+
BitbucketUnifiedClient["BitbucketUnifiedClient"]
4+
BitbucketBaseComponent["BitbucketBaseComponent"]
5+
BitbucketCloudBaseComponent["BitbucketCloudBaseComponent"]
6+
AtlassianRESTAPIClient["AtlassianRESTAPIClient"]
7+
BitbucketServerGlobalPermissionsManager["BitbucketServerGlobalPermissionsManager"]
8+
BitbucketServerProjectManagement["BitbucketServerProjectManagement"]
9+
BitbucketServerCommonPermissionsManager["BitbucketServerCommonPermissionsManager"]
10+
BitbucketCloudWorkspaceManagement["BitbucketCloudWorkspaceManagement"]
11+
BitbucketCloudProjectManagement["BitbucketCloudProjectManagement"]
12+
BitbucketCloudPermissionManagement["BitbucketCloudPermissionManagement"]
13+
BitbucketCloudMemberManagement["BitbucketCloudMemberManagement"]
14+
BitbucketCloudCommonDataModels["BitbucketCloudCommonDataModels"]
15+
BitbucketUnifiedClient -- "inherits from" --> BitbucketBaseComponent
16+
BitbucketCloudBaseComponent -- "inherits from" --> BitbucketBaseComponent
17+
BitbucketUnifiedClient -- "uses" --> BitbucketCloudBaseComponent
18+
BitbucketServerGlobalPermissionsManager -- "inherits from" --> BitbucketBaseComponent
19+
BitbucketServerProjectManagement -- "inherits from" --> BitbucketBaseComponent
20+
BitbucketServerCommonPermissionsManager -- "inherits from" --> BitbucketBaseComponent
21+
BitbucketCloudWorkspaceManagement -- "inherits from" --> BitbucketCloudBaseComponent
22+
BitbucketCloudProjectManagement -- "inherits from" --> BitbucketCloudBaseComponent
23+
BitbucketCloudPermissionManagement -- "inherits from" --> BitbucketCloudBaseComponent
24+
BitbucketCloudMemberManagement -- "inherits from" --> BitbucketCloudBaseComponent
25+
BitbucketCloudCommonDataModels -- "inherits from" --> BitbucketCloudBaseComponent
26+
BitbucketBaseComponent -- "uses" --> AtlassianRESTAPIClient
27+
BitbucketUnifiedClient -- "uses" --> AtlassianRESTAPIClient
28+
BitbucketUnifiedClient -- "manages" --> BitbucketServerGlobalPermissionsManager
29+
BitbucketUnifiedClient -- "manages" --> BitbucketServerProjectManagement
30+
BitbucketUnifiedClient -- "uses" --> BitbucketCloudWorkspaceManagement
31+
BitbucketCloudBaseComponent -- "uses" --> AtlassianRESTAPIClient
32+
BitbucketServerGlobalPermissionsManager -- "uses" --> AtlassianRESTAPIClient
33+
BitbucketServerProjectManagement -- "uses" --> AtlassianRESTAPIClient
34+
BitbucketServerCommonPermissionsManager -- "uses" --> AtlassianRESTAPIClient
35+
BitbucketCloudWorkspaceManagement -- "uses" --> AtlassianRESTAPIClient
36+
BitbucketCloudWorkspaceManagement -- "manages" --> BitbucketCloudProjectManagement
37+
BitbucketCloudWorkspaceManagement -- "manages" --> BitbucketCloudPermissionManagement
38+
BitbucketCloudWorkspaceManagement -- "manages" --> BitbucketCloudMemberManagement
39+
BitbucketCloudProjectManagement -- "uses" --> AtlassianRESTAPIClient
40+
BitbucketCloudPermissionManagement -- "uses" --> AtlassianRESTAPIClient
41+
BitbucketCloudMemberManagement -- "uses" --> AtlassianRESTAPIClient
42+
BitbucketCloudCommonDataModels -- "uses" --> AtlassianRESTAPIClient
43+
```
44+
[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%[email protected]?style=flat-square)](mailto:[email protected])
45+
46+
## Component Details
47+
48+
This graph illustrates the architecture of the Bitbucket API Client subsystem, which provides a unified interface for interacting with both Bitbucket Server and Bitbucket Cloud APIs. It details the core client, base components for common and platform-specific functionalities, and specialized managers for global permissions, project management, workspace management, and common data models, all relying on a low-level REST API client for communication.
49+
50+
### BitbucketUnifiedClient
51+
Provides a unified interface for interacting with both Bitbucket Server and Bitbucket Cloud APIs, covering functionalities related to projects, repositories, branches, tags, pull requests, webhooks, users, groups, and various administrative and permission management tasks across both Bitbucket platforms.
52+
53+
54+
**Related Classes/Methods**:
55+
56+
- `atlassian.bitbucket.Bitbucket` (full file reference)
57+
- `atlassian.bitbucket.server.Server` (full file reference)
58+
- `atlassian.bitbucket.cloud.Cloud` (full file reference)
59+
60+
61+
### BitbucketBaseComponent
62+
This foundational component provides common functionalities and attributes shared across different Bitbucket API clients, such as data updating, time format checking, and generic paged data retrieval. It serves as a base class for more specific Bitbucket implementations.
63+
64+
65+
**Related Classes/Methods**:
66+
67+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/base.py#L14-L204" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.base.BitbucketBase` (14:204)</a>
68+
69+
70+
### BitbucketCloudBaseComponent
71+
This component extends the core Bitbucket base functionalities with features specific to the Bitbucket Cloud environment, such as handling cloud-specific links and paged data structures.
72+
73+
74+
**Related Classes/Methods**:
75+
76+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/base.py#L11-L125" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.base.BitbucketCloudBase` (11:125)</a>
77+
78+
79+
### AtlassianRESTAPIClient
80+
A fundamental utility component responsible for executing all HTTP requests (GET, POST, PUT, DELETE) to Atlassian APIs and handling URL construction. It acts as the low-level communication layer for all higher-level API clients.
81+
82+
83+
**Related Classes/Methods**:
84+
85+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/rest_client.py#L43-L1001" target="_blank" rel="noopener noreferrer">`atlassian.rest_client.AtlassianRestAPI` (43:1001)</a>
86+
87+
88+
### BitbucketServerGlobalPermissionsManager
89+
Manages global-level permissions for Bitbucket Server, allowing administrators to define and control access rights for users and groups across the entire Bitbucket instance.
90+
91+
92+
**Related Classes/Methods**:
93+
94+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/globalPermissions.py#L6-L103" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.globalPermissions.GlobalPermissions` (6:103)</a>
95+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/globalPermissions.py#L106-L111" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.globalPermissions.Groups` (106:111)</a>
96+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/globalPermissions.py#L114-L119" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.globalPermissions.Users` (114:119)</a>
97+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/globalPermissions.py#L122-L153" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.globalPermissions.PermissionBase` (122:153)</a>
98+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/globalPermissions.py#L156-L164" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.globalPermissions.Group` (156:164)</a>
99+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/globalPermissions.py#L167-L198" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.globalPermissions.User` (167:198)</a>
100+
101+
102+
### BitbucketServerProjectManagement
103+
Provides functionalities for managing projects within Bitbucket Server, including operations such as creating, retrieving, updating, and deleting projects, as well as handling project-specific permissions.
104+
105+
106+
**Related Classes/Methods**:
107+
108+
- `atlassian.bitbucket.server.projects.Projects` (full file reference)
109+
- `atlassian.bitbucket.server.projects.Project` (full file reference)
110+
111+
112+
### BitbucketServerCommonPermissionsManager
113+
Offers a shared set of functionalities for managing permissions in Bitbucket Server, applicable to both projects and repositories, enabling the assignment and revocation of read, write, and administrative access.
114+
115+
116+
**Related Classes/Methods**:
117+
118+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/common/permissions.py#L6-L107" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.common.permissions.Permissions` (6:107)</a>
119+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/common/permissions.py#L110-L115" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.common.permissions.Groups` (110:115)</a>
120+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/common/permissions.py#L118-L123" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.common.permissions.Users` (118:123)</a>
121+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/common/permissions.py#L126-L161" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.common.permissions.PermissionBase` (126:161)</a>
122+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/common/permissions.py#L164-L173" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.common.permissions.Group` (164:173)</a>
123+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/server/common/permissions.py#L176-L220" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.server.common.permissions.User` (176:220)</a>
124+
125+
126+
### BitbucketCloudWorkspaceManagement
127+
Manages workspaces in Bitbucket Cloud, providing methods to list, retrieve, and check the existence of workspaces. It also serves as an entry point for managing projects, members, and permissions associated with a specific workspace.
128+
129+
130+
**Related Classes/Methods**:
131+
132+
- `atlassian.bitbucket.cloud.workspaces.Workspaces` (full file reference)
133+
- `atlassian.bitbucket.cloud.workspaces.Workspace` (full file reference)
134+
135+
136+
### BitbucketCloudProjectManagement
137+
Focuses on project-related operations within Bitbucket Cloud workspaces, allowing for the creation, retrieval, updating, and deletion of projects.
138+
139+
140+
**Related Classes/Methods**:
141+
142+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/workspaces/projects.py#L9-L120" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.workspaces.projects.Projects` (9:120)</a>
143+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/workspaces/projects.py#L123-L215" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.workspaces.projects.Project` (123:215)</a>
144+
145+
146+
### BitbucketCloudPermissionManagement
147+
Handles the administration of permissions for Bitbucket Cloud workspaces and repositories, enabling the assignment and management of access rights for users and groups.
148+
149+
150+
**Related Classes/Methods**:
151+
152+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/workspaces/permissions.py#L7-L52" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.workspaces.permissions.Permissions` (7:52)</a>
153+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/workspaces/permissions.py#L55-L97" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.workspaces.permissions.WorkspaceMembership` (55:97)</a>
154+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/workspaces/permissions.py#L100-L124" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.workspaces.permissions.RepositoryPermission` (100:124)</a>
155+
156+
157+
### BitbucketCloudMemberManagement
158+
Manages members within Bitbucket Cloud workspaces, providing functionalities to list and retrieve details of workspace members.
159+
160+
161+
**Related Classes/Methods**:
162+
163+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/workspaces/members.py#L6-L39" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.workspaces.members.WorkspaceMembers` (6:39)</a>
164+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/workspaces/members.py#L42-L64" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.workspaces.members.WorkspaceMember` (42:64)</a>
165+
166+
167+
### BitbucketCloudCommonDataModels
168+
Defines the data structures for common entities in Bitbucket Cloud, such as users, participants in pull requests, build statuses, and comments, facilitating consistent data representation across the API.
169+
170+
171+
**Related Classes/Methods**:
172+
173+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/common/users.py#L4-L31" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.common.users.User` (4:31)</a>
174+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/common/users.py#L34-L79" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.common.users.Participant` (34:79)</a>
175+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/common/builds.py#L4-L86" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.common.builds.Build` (4:86)</a>
176+
- <a href="https://github.com/atlassian-api/atlassian-python-api/blob/master/atlassian/bitbucket/cloud/common/comments.py#L5-L50" target="_blank" rel="noopener noreferrer">`atlassian.bitbucket.cloud.common.comments.Comment` (5:50)</a>
177+
178+
179+
180+
181+
### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)

0 commit comments

Comments
 (0)