2015-11-18 63 views
1

對於正在觀看此標記的Active Collab團隊。使用Active Collab 5 API進行跨項目時間記錄過濾

我正在使用新的Active Collab 5 API的項目,我遇到性能問題試圖運行報告。

示例我嘗試構建日期範圍報告,並且目前要實現我需要首先運行調用以獲取所有項目。

,然後用此調用一個循環:

API::get('/projects/'.$id.'/time-records/filtered-by-date?' . http_build_query(['from' => $from, 'to' => $to])) 

但是,我們有大量的項目,此外還有大量的活動項目,我們還需要過濾歸檔項目,以及以獲取正確的報告計費。

現在我在AC工作約1500個項目。

所以我需要做1500個API調用,這需要巨大的性能。有沒有一種方法可以建立可以沿着這些方向發展的東西?

API::get(/timerecords/filter-by-date); 

帶有一個可能的傳遞參數,將會說(所有,活動,complited)項目狀態。

請讓我知道你可以做什麼,或者如果我已經在你的文檔中遺漏了一些已經做到這一點的東西。

感謝

回答

2

是你所需要的是什麼不是通過所有項目逐個進入的請求,但它專爲跨項目報告的請求。 Active Collab 5具有正確的API端點 - /reports/run

舉個例子,你可以使用這個命令來查詢從今天被追蹤的所有活動項目的時間記錄和費用:

curl -H "X-Angie-AuthApiToken: YOUR-API-TOKEN" "http://your.activecollab.com/api/v1/reports/run?type=TrackingFilter&project_filter=active&tracked_on_filter=today" 

注意路線(/reports/run)和查詢參數:

  1. type - 指定報告的類型,在本例中爲時間和費用跟蹤報告,
  2. project_filter - 指定項目過濾器。除active之外,此過濾器的其他有用值爲completed(用於完成的項目),selected_1,2,3,4(具有項目ID-s列表的所選項目),client_1,2,3,4(具有給定ID-s的客戶的項目),category_1,2,3,4(類別中的項目與給定的ID-s),
  3. tracked_on_filter - 按跟蹤記錄的日期過濾。要定位特定日期,請使用selected_date_YYYY-MM-DD,並定位日期範圍使用selected_range_YYYY-MM-DD:YYYY-MM-DD
  4. tracked_by_filter - 按誰跟蹤時間過濾。它可以有各種值,如anybody,logged_user,selected_1,2,3

要只列出的時間記錄,設置type_filtertime(或expenses如果你想僅列出費用)。

+1

謝謝我會給這個去,我會讓你知道。順便說一句:好產品! – IamCavic

+0

嗨@Ilija嗨@Ilija我今天試過這個,每次我嘗試了不同的東西,包括幾篇關於API的文檔都不同的東西時,它都會返回一個空格,但它仍然沒有任何東西。它不會崩潰,它會返回響應,但它是空的。 – IamCavic

+0

我在上面添加了更多的代碼,請看看可能我缺少的東西..還有「類型」:「AssignmentFilter」(我得到這個記錄),所以一切都設置正確 – IamCavic