5つのボードからのタスクが1つに収集されるようにTrelloダッシュボードを作成するにはどうすればよいですか?

問題がある

私の仕事では、分析部門の従業員のタスクを1つのウィンドウに整理し、彼らのワークロードを評価するための透過的なスキームを構築する必要に直面しました。





オプションは何ですか?

さまざまなツールとタスクマネージャーを比較すると、最も人気のある市場プレーヤーの1つであるTrelloが選択されました。しかし、プログラムを選んだ直後に、新たな障害が発生しました。このアプリケーションの無料バージョンには、大規模なプロジェクトにもライセンスが必要なZapierなどのサードパーティサービスなしで、複数の従業員のボードを同期する機能がありませんでした。





統一の意味は何ですか?

  1. 5つのボードに移動し、それぞれを個別に表示します。時間と労力が足りないだけです。





  2. 1つの画面でボードを同期しないと、現在のワークロードの観点から、ある従業員を別の従業員と比較することが非常に困難になります。





  3. 従業員は各チームメンバーの作業負荷を理解したいと考えています。そのためにも、何らかの方法ですべてをまとめる必要があります。     





このような同期機能は、アジャイルタスクマネージャーを専門とする一部の競合他社から無料で利用できますが、Trelloは、タスクの個人的な制御に数年間使用しているため、より馴染みがありました。したがって、共通のコマンドタスクマネージャーを部門の作業に導入するために、解決する必要がある問題は1つだけです。





Trelloでライセンスを購入したり、Zapierのようなサービスを転送したりせずに、1つのダッシュボードで5人の従業員のボードを同期するにはどうすればよいですか?





問題の解決策:

trello R, API , .





:

API https://trello.com/app-key ( Trello )





,





R.    . R    RStudio.





:





  • API Trello — «trelloR»





  • — «lubridate»





  • — «dplyr»   





CRAN install.packages, github install_github:





remotes::install_github("jchrom/trelloR")
install.packages("lubridate", dependencies = TRUE)
install.packages("dplyr ", dependencies = TRUE)
      
      



API :





#         token
setwd("C:\\*********\\R_script\\trello")

#  token
my_token = get_token("my_app", key = "", secret = "",
                     expiration = c( "never"))
      
      



, , , :





trelloadd <- function(delcard = NULL,
                      addcard = NULL,
                      nlista = NULL){
  #          
     
  ishod_tab <- get_list_cards(addcard)
  
  #      
  bid = get_id_board(delcard)
  
  #        
  lid <- get_board_lists(bid)$id[nlista]
  
  #        
  cid<-get_list_cards(lid)
  
  #  ,        
  if (length(cid$id)>0) {
    for (i in 1:length(cid$id)) {
      delete_resource(resource = "card", id = cid$id[i])
    }
  }else{
    print("no-del")
  }
  
  #       
  dateList<- data.frame(dateadd = NA)
  for (i in 1:length(ishod_tab$id)) {
    cardID <- ishod_tab$id[i]
    dateList[i,1] <- strtoi(strtrim(cardID, 8), 16L)
  }
  dateList$dateadd <-as.POSIXct(dateList$dateadd, origin = "1970-01-01")
  
  #           
  if (length(ishod_tab$name)>0) {
    for (i in 1:length(ishod_tab$name)) {
        payload = list(
        idList = lid,
        name = ishod_tab$name[i],
        desc = paste0(ishod_tab$desc[i],"Date Add: " ,dateList$dateadd[i], " 
                       ", floor(as.vector(difftime(today(),dateList$dateadd[i], units='days'))), " "),
        start = ishod_tab$start [i],
        due = ishod_tab$due [i],
        pos = "bottom"
      )
      r <- create_resource("card", body = payload)
    }
  }else{
    print("Ok")
  }
  if (nrow(bind_rows(ishod_tab$labels[]))>0) {
  
    #   ()
    bid = get_id_board(delcard)
    lid <- get_board_lists(bid)$id[nlista]
    cid <-get_list_cards(lid)
    
    #    
    nlab <- which( lapply(ishod_tab$labels, length)!=0 %in% T)
    for (i in nlab) {
      labl <- ishod_tab$labels[[i]]
      for (xi in 1:nrow(labl)) {
        r <-  add_label(cid$id[i], color = ishod_tab$labels[[i]][xi,4],
                        name = ishod_tab$labels[[i]][xi,3] )  
      }
    }
   }else{
    print("no_lable")
  }
}
      
      



:





  • delcard - id





  • addcard - id





  • nlista -





delcard

id , , id





リンクの例:https://trello.com/b/*********/general-tasks-ここで、******値は特定のボードのIDになります
: https://trello.com/b/*********/- - ****** Id

addcard

, delcard , :





get_board_lists("https://trello.com/b/*****/1",
 query = list(customFieldItems = "true")
)
      
      



, R id





.





:





# 1 ####
trelloadd(delcard = "od*****W", 
          addcard = "600**********04",
          nlista = 2)
# 2 ####
trelloadd(delcard = "od*****W", 
          addcard = "5fc4********24",
          nlista = 3)
# 3 ####
trelloadd(delcard = "od*****W", 
          addcard = "5e94*********8ce",
          nlista = 4)
# 4 ####
trelloadd(delcard = "od*****W",
          addcard = "5faa*********c522",
          nlista = 5)
# 5 ####
trelloadd(delcard = "od*****W",
          addcard = "60744*******3394",
          nlista = 6)
# 6 ####
trelloadd(delcard = "od*****W",
          addcard = "5e73******b07",
          nlista = 7)
      
      



, , , , , ( ). .     .





準備ができたダッシュボード
準備ができたダッシュボード

最終的に:





  1. trelloの任意の数の従業員のすべてのボードの完全な同期を取得しました





  2. 各タスクの作成日を視覚的に確認できるように、問題を解決しました





  3. コードにさまざまな新しい改善を追加し、会社のビジネスロジックとR言語の機能に基づいて、Trello Apiに基づいてコードを拡張する機能のおかげで、あらゆる側面で従業員の生産性を分析するための基盤があります。








All Articles