Пример #1
0
        private async void MaintainConnection()
        {
            if(!_shouldMaintainConnection) return;

            try
            {
                _connection = await _connector.Connect(AuthToken);
                var jiraResponse = new JiraResponse(_connection);
                _connection.OnMessageReceived += jiraResponse.HandleMessage;
                _connection.OnDisconnect += async () =>
                {
                    if (!_shouldMaintainConnection) return;
                    Log.Warn("Disconnected, trying to reconnect");
                    await Task.Delay(500);
                    MaintainConnection();
                };
                Log.Info("Connected");
            }
            catch (Exception ex)
            {
                Log.Error("Failed to connect", ex);
                await Task.Delay(500);
                MaintainConnection();
            }
        }
 public IEnumerable <Ticket> ConvertJiraResponseToTickets(JiraResponse response)
 {
     return(response.Issues?.Select((issue) => new Ticket
     {
         Id = issue.Key,
         Summary = issue.Fields?.Summary,
         Assignee = issue.Fields?.Assignee != null ? new User
         {
             Name = issue.Fields?.Assignee?.DisplayName,
             Icon = issue.Fields?.Assignee?.AvatarUrls["16x16"],
         } : null,
         IssueType = new IssueType
         {
             Text = issue.Fields?.IssueType.Name,
             Icon = issue.Fields?.IssueType.IconUrl,
         },
         Url = $"{_jiraBaseUrl}/browse/{issue.Key}",
         Updated = issue.Fields?.Updated,
     }));
 }
Пример #3
0
 private static async void TryConnect()
 {
     try
     {
         Console.Out.WriteLine("Trying to connect");
         var connection = await Connector.Connect("xoxb-21484668518-CKA3ci4Fo9iduVZKi6dinCnA");
         Console.Out.WriteLine("Connected");
         var jiraResponse = new JiraResponse(connection);
         connection.OnMessageReceived += jiraResponse.HandleMessage;
         connection.OnDisconnect += async () =>
         {
             Console.Out.WriteLine("Disconnected");
             await Task.Delay(500);
             TryConnect();
         };
     }
     catch (Exception ex)
     {
         Console.Out.WriteLine("Failed to connect");
         await Task.Delay(500);
         TryConnect();
     }
 }