updateRunStatus method

Future<void> updateRunStatus({
  1. required String buildJobId,
  2. required String runId,
  3. required String status,
  4. String? conclusion,
})

Updates a build run's status.

Implementation

Future<void> updateRunStatus({
  required String buildJobId,
  required String runId,
  required String status,
  String? conclusion,
}) async {
  if (serverUrl != null && serverUrl!.isNotEmpty) {
    final url = Uri.parse('$serverUrl/builds/$buildJobId/runs/$runId');
    final idToken = await authManager.getIdToken();
    final response = await http.patch(
      url,
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer $idToken',
      },
      body: jsonEncode({'status': status, 'conclusion': ?conclusion}),
    );
    if (response.statusCode >= 200 && response.statusCode < 300) {
      return;
    }
    throw HttpException(
      'Failed to update run status on server: ${response.statusCode} ${response.body}',
    );
  }

  await callApi('update-build-run-status', {
    'buildJobId': buildJobId,
    'runId': runId,
    'status': status,
    'conclusion': ?conclusion,
  });
}