Atlassian API integration with configuration management
Project description
kiarina-lib-atlassian
Atlassian API integration with configuration management using pydantic-settings-manager.
Purpose
kiarina-lib-atlassian provides a simple and secure way to manage Atlassian API credentials (Jira, Confluence, etc.) using pydantic-settings-manager. This library enables the implementation of Atlassian-related functionality by separating and managing API credentials from the application.
Installation
pip install kiarina-lib-atlassian
Quick Start
from kiarina.lib.atlassian import settings_manager
# Configure Atlassian credentials
settings_manager.user_config = {
"jira": {
"url": "https://your-domain.atlassian.net",
"username": "your-email@example.com",
"password": "your-api-token"
}
}
# Get settings
settings = settings_manager.get_settings("jira")
print(f"Jira URL: {settings.url}")
print(f"Username: {settings.username}")
# Access API token securely
api_token = settings.password.get_secret_value()
API Reference
AtlassianSettings
Configuration settings for Atlassian API.
Fields:
url: str- API endpoint URL (e.g., "https://your-domain.atlassian.net")username: str- Atlassian account email addresspassword: SecretStr- Atlassian API token (stored securely)
Example:
from pydantic import SecretStr
from kiarina.lib.atlassian import AtlassianSettings
settings = AtlassianSettings(
url="https://example.atlassian.net",
username="user@example.com",
password=SecretStr("your-api-token")
)
settings_manager
Global settings manager instance for Atlassian API configuration.
Type: SettingsManager[AtlassianSettings]
Multi-configuration support: Enabled (can manage multiple Atlassian instances)
Example:
from kiarina.lib.atlassian import settings_manager
# Configure multiple instances
settings_manager.user_config = {
"jira": {
"url": "https://jira.example.com",
"username": "jira@example.com",
"password": "jira-token"
},
"confluence": {
"url": "https://confluence.example.com",
"username": "confluence@example.com",
"password": "confluence-token"
}
}
# Get specific configuration
jira_settings = settings_manager.get_settings("jira")
confluence_settings = settings_manager.get_settings("confluence")
Configuration
YAML Configuration
# config/production.yaml
kiarina.lib.atlassian:
jira:
url: "https://your-domain.atlassian.net"
username: "your-email@example.com"
password: "${ATLASSIAN_API_TOKEN}"
confluence:
url: "https://your-domain.atlassian.net"
username: "your-email@example.com"
password: "${ATLASSIAN_API_TOKEN}"
Environment Variables
Settings can be configured via environment variables with the prefix KIARINA_LIB_ATLASSIAN_:
export KIARINA_LIB_ATLASSIAN__JIRA__URL="https://your-domain.atlassian.net"
export KIARINA_LIB_ATLASSIAN__JIRA__USERNAME="your-email@example.com"
export KIARINA_LIB_ATLASSIAN__JIRA__PASSWORD="your-api-token"
Bootstrap Pattern
For multi-module applications, use the bootstrap pattern:
# bootstrap.py
import yaml
from pydantic_settings_manager import load_user_configs
def bootstrap():
with open("config/production.yaml") as f:
config = yaml.safe_load(f)
load_user_configs(config)
# main.py
from bootstrap import bootstrap
from kiarina.lib.atlassian import settings_manager
bootstrap()
settings = settings_manager.get_settings("jira")
Testing
# Run tests
pytest
# Run tests with coverage
pytest --cov=kiarina.lib.atlassian --cov-report=html
Dependencies
- pydantic (>=2.10.5): Data validation and settings management
- pydantic-settings (>=2.7.1): Settings management from various sources
- pydantic-settings-manager (>=2.3.0): Advanced settings management with multi-configuration support
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects
- kiarina-python - Parent monorepo
- pydantic-settings-manager - Settings management library
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kiarina_lib_atlassian-1.37.0.tar.gz.
File metadata
- Download URL: kiarina_lib_atlassian-1.37.0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f054340a1fe4e006ca798fa8b94c65867a966188dddad283f55c762a0ee803ef
|
|
| MD5 |
0f45e41555788f330a51b6cbcdc71ebb
|
|
| BLAKE2b-256 |
154fb535e175229ea4a2abe4edcdae04ef6b2c73aa8c188c395d5cade19425ce
|
File details
Details for the file kiarina_lib_atlassian-1.37.0-py3-none-any.whl.
File metadata
- Download URL: kiarina_lib_atlassian-1.37.0-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28f2874e817db96c297a7d1c3cc6da19270225f7f4660b711875c2ea0ddd042f
|
|
| MD5 |
b0ce54d1a8d8838e4ecc048c087de4ba
|
|
| BLAKE2b-256 |
65ab5529cdbbd6c7a872505faaafda3e2d5c85876d5d2ab4bcb19ee1dfce8116
|