public PayloadInfo PayloadtoPayloadInfo(GitHubPayload payload) { return(new PayloadInfo() { orgName = payload.organization.login, orgId = payload.organization.id, repoName = payload.repository.name, repoId = payload.repository.id, branchName = payload.repository.default_branch, openIssuesCount = payload.repository.open_issues, CreatedAt = payload.repository.created_at, Created = payload.action == "created", ownerName = payload.sender.login }); }
public async Task Post( [FromBody] GitHubPayload payload, [FromQuery] string lineId, [FromQuery] string jenkinsUrl) { var message = new TextMessage() { Text = $"專案[{payload.Repository.Name}],由使用者[{payload.Sender.Login}]觸發建置({payload.Ref})" }; await Bot.Push(lineId, message); HttpClient client = new HttpClient(); try { var response = await client.GetAsync(jenkinsUrl); if (response.IsSuccessStatusCode) { var success = new TextMessage() { Text = $"專案[{payload.Repository.Name}]({payload.Ref})引動Jenkins成功!正在建置..." }; await Bot.Push(lineId, success); } else { var error = new TextMessage() { Text = $"專案[{payload.Repository.Name}]({payload.Ref})引動Jenkins失敗!" }; await Bot.Push(lineId, error); } } catch (Exception e) { var error = new TextMessage() { Text = $"專案[{payload.Repository.Name}]({payload.Ref})引動Jenkins失敗!" }; var errorData = new TextMessage() { Text = $"錯誤訊息: {e.Message}" }; await Bot.Push(lineId, error, errorData); } }
public PayloadInfo TexttoPayloadInfo(string payloadJson) { GitHubPayload githubPayload = JsonConvert.DeserializeObject <GitHubPayload>(payloadJson); return(PayloadtoPayloadInfo(githubPayload)); }