Skip to main content

Module api

Module api 

Source
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.