使用 Active Collab 5 跨项目时间记录过滤 API
Cross-project time-record filtering using 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);
可能会传递一个参数,表示(全部、活动、已完成)项目状态。
请让我知道您可以做什么,或者如果我在您的文档中遗漏了一些已经这样做的内容。
谢谢
您在这里需要的不是一个一个遍历所有项目的请求,而是一个为跨项目报告量身定制的请求。 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
)和查询参数:
type
- 指定报告类型,在本例中为时间和费用跟踪报告,
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 的类别中的项目),
tracked_on_filter
- 按跟踪记录的日期过滤。要定位特定日期,请使用 selected_date_YYYY-MM-DD
并定位日期范围,请使用 selected_range_YYYY-MM-DD:YYYY-MM-DD
.
tracked_by_filter
- 按跟踪时间的人过滤。它可以有各种值,例如 anybody
、logged_user
、selected_1,2,3
.
要仅列出时间记录,请将 type_filter
设置为 time
(如果您只想列出费用,则设置为 expenses
)。
对于观看此标签的活跃协作团队。
我正在处理一个使用新的 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);
可能会传递一个参数,表示(全部、活动、已完成)项目状态。
请让我知道您可以做什么,或者如果我在您的文档中遗漏了一些已经这样做的内容。
谢谢
您在这里需要的不是一个一个遍历所有项目的请求,而是一个为跨项目报告量身定制的请求。 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
)和查询参数:
type
- 指定报告类型,在本例中为时间和费用跟踪报告,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 的类别中的项目),tracked_on_filter
- 按跟踪记录的日期过滤。要定位特定日期,请使用selected_date_YYYY-MM-DD
并定位日期范围,请使用selected_range_YYYY-MM-DD:YYYY-MM-DD
.tracked_by_filter
- 按跟踪时间的人过滤。它可以有各种值,例如anybody
、logged_user
、selected_1,2,3
.
要仅列出时间记录,请将 type_filter
设置为 time
(如果您只想列出费用,则设置为 expenses
)。