問題がある
私の仕事では、分析部門の従業員のタスクを1つのウィンドウに整理し、彼らのワークロードを評価するための透過的なスキームを構築する必要に直面しました。
オプションは何ですか?
さまざまなツールとタスクマネージャーを比較すると、最も人気のある市場プレーヤーの1つであるTrelloが選択されました。しかし、プログラムを選んだ直後に、新たな障害が発生しました。このアプリケーションの無料バージョンには、大規模なプロジェクトにもライセンスが必要なZapierなどのサードパーティサービスなしで、複数の従業員のボードを同期する機能がありませんでした。
統一の意味は何ですか?
5つのボードに移動し、それぞれを個別に表示します。時間と労力が足りないだけです。
1つの画面でボードを同期しないと、現在のワークロードの観点から、ある従業員を別の従業員と比較することが非常に困難になります。
従業員は各チームメンバーの作業負荷を理解したいと考えています。そのためにも、何らかの方法ですべてをまとめる必要があります。
このような同期機能は、アジャイルタスクマネージャーを専門とする一部の競合他社から無料で利用できますが、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
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)
最終的に:
trelloの任意の数の従業員のすべてのボードの完全な同期を取得しました
各タスクの作成日を視覚的に確認できるように、問題を解決しました
コードにさまざまな新しい改善を追加し、会社のビジネスロジックとR言語の機能に基づいて、Trello Apiに基づいてコードを拡張する機能のおかげで、あらゆる側面で従業員の生産性を分析するための基盤があります。