Exemple #1
0
 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
     });
 }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        public PayloadInfo TexttoPayloadInfo(string payloadJson)
        {
            GitHubPayload githubPayload = JsonConvert.DeserializeObject <GitHubPayload>(payloadJson);

            return(PayloadtoPayloadInfo(githubPayload));
        }