我被要求查看创建报告,该报告将为项目列表提取时间输入数据。提供项目名称/ ID,检索在其上花费的所有时间的总和,以及过去一周的小时数。
但我无法在新API中看到任何会给我时间条目的内容,至少检索过程不在Basecamp文档中。
我一直在查看此页面,其中介绍了API:
答案 0 :(得分:0)
原来你可以从旧的API中获取它:
https://mystuff.basecamphq.com/projects/#project_id#/time_entries.xml
这将为您提供XML条目的时间条目,这很痛苦。它还对结果进行分页。在你回来的标题中有两个字段,它们告诉你总共有多少条记录,以及有多少页面:
var pageCount = headers["X-Pages"];
var recCount = headers["X-Records"];
您可以按如下方式处理返回的记录:
function processRecords(response)
{
var respObj =
{
totalHours: 0,
thisWeekHours: 0
}
var doc = null;
if (response.getContentText)
{
doc = Xml.parse(response.getContentText(), true);
}
else if (response.getElements)
{
doc = response;
}
else
{
var name = typeof response;
if (response.constructor) name = response.constructor.name;
throw new Exception("Incompatible type: " + name);
}
var root = doc.getElement();
var records = root.getElements("time-entry");
if (records.length > 0)
{
for (i = 0;i < records.length; i++)
{
var hours = Number(records[i].hours.getText());
var recordDate = records[i].date.getText();
if (recordDate >= previousSunday && recordDate <= previousSaturday)
{
respObj.thisWeekHours = respObj.thisWeekHours + hours;
}
respObj.totalHours = respObj.totalHours + hours;
}
}
return respObj;
}
答案 1 :(得分:-1)
到目前为止我们所看到的是,没有简单的方法可以在任何项目上花费实际时间。您可以执行一些简单的操作,例如从创建项目到关闭/删除项目的时间。
我们看到这样做的赌注方式是查看每个待办事项列表,然后查看其下的待办事项。找出该项目每个待办事项列表下每个待办事项的累计时间,这将是项目所花费的实际(最近可能的准确时间)。
您可以使用API来获取此待办事项级别的详细信息,这样可以解决问题。
如果有人有更好的选择,请告诉我们:)我们正在进行上述截至今天。