Expand description
External API clients (GitLab, Jira, SiServer) and the shared session-management pattern they implement.
use kasl::api::{GitLabConfig, JiraConfig, SiConfig};
let jira_module = JiraConfig::module();
let jira_config = JiraConfig::init(&existing_config)?;Re-exports§
pub use gitlab::GitLabConfig;pub use jira::JiraConfig;pub use si::SiConfig;
Modules§
- gitlab
- GitLab API client for fetching user activity and commit data.
- jira
- Jira client: completed issues for task discovery, assigned open issues for the inbox poller.
- si
- SiServer client: daily/monthly report submission and the company rest-date calendar.
Traits§
- Session
- Session lifecycle shared by every API client: cache the session id on disk, prompt for the password only when needed, retry a bounded number of times.