LinearTrackerClient.fromConfig constructor
LinearTrackerClient.fromConfig(
- WorkflowConfig config, {
- Client? httpClient,
Builds a Linear client pre-wired from a WorkflowConfig.
Throws a TrackerFailure-equivalent error when the config is missing the required fields. Callers SHOULD prefer the tracker factory which surfaces the error as a TrackerResult.
Implementation
factory LinearTrackerClient.fromConfig(
WorkflowConfig config, {
http.Client? httpClient,
}) {
final apiKey = config.tracker.apiKey;
final slug = config.tracker.projectSlug;
if (apiKey == null || apiKey.isEmpty) {
throw const TrackerFailure(
TrackerFailureCode.missingTrackerApiKey,
'Linear tracker requires tracker.api_key (LINEAR_API_KEY).',
);
}
if (slug == null || slug.isEmpty) {
throw const TrackerFailure(
TrackerFailureCode.missingTrackerProjectSlug,
'Linear tracker requires tracker.project_slug.',
);
}
return LinearTrackerClient(
endpoint: config.tracker.endpoint,
apiKey: apiKey,
projectSlug: slug,
activeStates: config.tracker.activeStates,
httpClient: httpClient,
);
}