completeJob method

Future<void> completeJob(
  1. String id,
  2. String status
)

Completes a build job.

Implementation

Future<void> completeJob(String id, String status) async {
  if (serverUrl != null && serverUrl!.isNotEmpty) {
    final url = Uri.parse('$serverUrl/builds/$id');
    final idToken = await authManager.getIdToken();
    final response = await http.patch(
      url,
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer $idToken',
      },
      body: jsonEncode({
        'status': status,
        'completedAt': DateTime.now().toUtc().toIso8601String(),
      }),
    );
    if (response.statusCode >= 200 && response.statusCode < 300) {
      return;
    }
    throw HttpException(
      'Failed to complete job on server: ${response.statusCode} ${response.body}',
    );
  }

  await callApi('complete-build-job', {'id': id, 'status': status});
}