Пример #1
0
 public bool Initialize(string accountName, string emailAddress, string password)
 {
     try
     {
         var lkFactory = new LeanKitClientFactory();
         var lkAuth    = new LeanKitBasicAuth
         {
             Hostname = accountName,
             Username = emailAddress,
             Password = password
         };
         _api = lkFactory.Create(lkAuth);
         // Test authentication
         var boards = _api.GetBoards();
         if (boards == null)
         {
             return(false);
         }
         _cache.Set("boards", boards.ToArray(), DateTimeOffset.Now.AddMinutes(5));
         return(true);
     }
     catch (Exception)
     {
         _api = null;
         return(false);
     }
 }
Пример #2
0
        public virtual ILeanKitApi CreateApi(string hostName, string userName, string password)
        {
            var factory       = new LeanKitClientFactory();
            var authorisation = new LeanKitBasicAuth
            {
                Hostname = hostName,
                Username = userName,
                Password = password
            };

            return(factory.Create(authorisation));
        }
        protected override void OnStartTest()
        {
            var api       = LeanKitClientFactory.Create(new LeanKitAccountAuth());
            var eventArgs = new BoardChangedEventArgs
            {
                UpdatedCards = new List <CardUpdateEvent> {
                    CardUpdateEvent
                }
            };

            TestItem.SimulateUpdateEvent(BoardId, eventArgs, api);
        }
Пример #4
0
        public void RunQuery()
        {
            ValidateQuery();

            var leanKitAuth = new LeanKitBasicAuth
            {
                Hostname = _args.Host,
                Username = _args.User,
                Password = _args.Password
            };

            // For internal development testing
            if (_args.Host.Equals("kanban-cibuild", StringComparison.InvariantCultureIgnoreCase))
            {
                leanKitAuth.UrlTemplateOverride = "http://{0}.localkanban.com";
            }

            WriteInfo("Connecting to LeanKit account...");
            var api = new LeanKitClientFactory().Create(leanKitAuth);

            if (_args.Boards)
            {
                WriteInfo("Getting all boards...");
                var boards    = api.GetBoards();
                var boardList = boards.Select(Mapper.Map <BoardLiteView>);
                var output    = _args.Csv ? boardList.ToCsv() : _args.Json ? boardList.ToJson() : boardList.Dump();
                Console.WriteLine(output);
            }
            else if (_args.Board > 0)
            {
                WriteInfo(string.Format("Getting board [{0}]...", _args.Board));
                var board = api.GetBoard(_args.Board);
                if (_args.Lanes || _args.Lane > 0 || _args.Cards)
                {
                    // Get lanes
                    var boardLanes = new List <Lane>();
                    if (_args.Lane > 0)
                    {
                        WriteInfo(string.Format("Getting lane [{0}]...", _args.Lane));
                        boardLanes.AddRange(board.AllLanes().Where(lane => lane.Id == _args.Lane));
                    }
                    else
                    {
                        if (_args.IncludeBacklog)
                        {
                            boardLanes.AddRange(board.Backlog);
                        }
                        boardLanes.AddRange(board.Lanes);
                        if (_args.IncludeArchive)
                        {
                            boardLanes.AddRange(board.Archive);
                        }
                    }

                    if (_args.Cards)
                    {
                        WriteInfo("Getting cards...");
                        var cards = new List <MappedCardView>();
                        foreach (var lane in boardLanes)
                        {
                            cards.AddRange(lane.Cards.Select(Mapper.Map <MappedCardView>));
                        }
                        // Archived cards is a separate API call
                        if (_args.IncludeArchive)
                        {
                            var archivedCards = api.GetArchiveCards(_args.Board);
                            cards.AddRange(archivedCards.Select(Mapper.Map <MappedCardView>));
                        }
                        var output = _args.Csv ? cards.ToCsv() : _args.Json ? cards.ToJson() : cards.Dump();
                        Console.WriteLine(output);
                    }
                    else
                    {
                        var lanes  = boardLanes.Select(Mapper.Map <LaneView>);
                        var output = _args.Csv ? lanes.ToCsv() : _args.Json ? lanes.ToJson() : lanes.Dump();
                        Console.WriteLine(output);
                    }
                }
                else
                {
                    var boardView = Mapper.Map <BoardView>(board);
                    var output    = _args.Csv ? boardView.ToCsv() : _args.Json ? boardView.ToJson() : boardView.Dump();
                    Console.WriteLine(output);
                }
            }
        }