public async Task HandleGithubPushEvent(int projectId, PushGithubPayloadDTO payload) { if (payload?.Ref == null) { return; } //When commit is pushed to branch github send payload object with property //"refs": "refs/heads/*name of branch*" if (!payload.Ref.StartsWith("refs/heads/")) { return; } //I parse this property in branch name in the next line: var updatedBranch = payload.Ref.Substring(11); var triggers = await _projectService.GetProjectRemoteTriggers(projectId); var pushTrigger = triggers.FirstOrDefault(t => (t.Type == RemoteTriggerType.Push || t.Type == RemoteTriggerType.All) && t.Branch == updatedBranch); if (pushTrigger == null) { return; } var rebuild = await _builder.PrepareBuild(projectId, payload.Sender.Login, updatedBranch); await _builder.StartBuild(projectId, rebuild.Id, updatedBranch, rebuild.PerformerId); }
public async Task HandleGithubPushEvent(int projectId, PushGithubPayloadDTO payload) { //When commit is pushed to branch github send payload object with property //"refs": "refs/heads/*name of branch*" if (!payload.Ref.StartsWith("refs/heads/")) { return; } //I parse this property in branch name in the next line: var updatedBranch = payload.Ref.Substring(11); // TODO: replace fake build history id await _builder.StartBuild(projectId, 1); }
public async Task GithubWebhookCallback(int projectId, [FromBody] PushGithubPayloadDTO payload) { await _handler.HandleGithubPushEvent(projectId, payload); }