buildEventPayload function

String buildEventPayload(
  1. BuildJob buildJob
)

Implementation

String buildEventPayload(BuildJob buildJob) {
  final owner = buildJob.owner;
  final repo = buildJob.repo;
  final fullName = '$owner/$repo';
  final commitSha = buildJob.commitSha ?? '';
  final branch = buildJob.branch ?? '';
  final pullRequestNumber = buildJob.pullRequestNumber;

  final repository = <String, dynamic>{
    'name': repo,
    'full_name': fullName,
    'owner': {'login': owner, 'name': owner},
    'default_branch': branch,
  };

  if (pullRequestNumber != null) {
    return jsonEncode({
      'action': 'opened',
      'number': pullRequestNumber,
      'pull_request': {
        'number': pullRequestNumber,
        'head': {
          'ref': branch,
          'sha': commitSha,
          'repo': {'full_name': fullName, 'name': repo},
        },
        'base': {
          'ref': '',
          'sha': '',
          'repo': {'full_name': fullName, 'name': repo},
        },
      },
      'repository': repository,
      'sender': {'login': owner},
    });
  }

  return jsonEncode({
    'ref': branch.isEmpty ? '' : 'refs/heads/$branch',
    'before': '',
    'after': commitSha,
    'head_commit': {'id': commitSha},
    'repository': repository,
    'pusher': {'name': owner},
    'sender': {'login': owner},
  });
}