| POST,OPTIONS | /v1/dashboard/project |
|---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
public static class ProjectDashRequest
{
public Date FromDate = null;
public Date ToDate = null;
public Date getFromDate() { return FromDate; }
public ProjectDashRequest setFromDate(Date value) { this.FromDate = value; return this; }
public Date getToDate() { return ToDate; }
public ProjectDashRequest setToDate(Date value) { this.ToDate = value; return this; }
}
public static class ProjectDashResponse
{
public ResponseStatus ResponseStatus = null;
public ArrayList<DashboardStatTile> Stats = new ArrayList<DashboardStatTile>();
public DashboardSeries JobStatus = null;
public DashboardSeries Throughput = null;
public DashboardSeries CycleDistribution = null;
public DashboardSeries Bottleneck = null;
public ArrayList<ProjectDashOverdueRow> OverdueJobs = new ArrayList<ProjectDashOverdueRow>();
public ArrayList<ProjectDashRollupRow> Rollup = new ArrayList<ProjectDashRollupRow>();
public ResponseStatus getResponseStatus() { return ResponseStatus; }
public ProjectDashResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
public ArrayList<DashboardStatTile> getStats() { return Stats; }
public ProjectDashResponse setStats(ArrayList<DashboardStatTile> value) { this.Stats = value; return this; }
public DashboardSeries getJobStatus() { return JobStatus; }
public ProjectDashResponse setJobStatus(DashboardSeries value) { this.JobStatus = value; return this; }
public DashboardSeries getThroughput() { return Throughput; }
public ProjectDashResponse setThroughput(DashboardSeries value) { this.Throughput = value; return this; }
public DashboardSeries getCycleDistribution() { return CycleDistribution; }
public ProjectDashResponse setCycleDistribution(DashboardSeries value) { this.CycleDistribution = value; return this; }
public DashboardSeries getBottleneck() { return Bottleneck; }
public ProjectDashResponse setBottleneck(DashboardSeries value) { this.Bottleneck = value; return this; }
public ArrayList<ProjectDashOverdueRow> getOverdueJobs() { return OverdueJobs; }
public ProjectDashResponse setOverdueJobs(ArrayList<ProjectDashOverdueRow> value) { this.OverdueJobs = value; return this; }
public ArrayList<ProjectDashRollupRow> getRollup() { return Rollup; }
public ProjectDashResponse setRollup(ArrayList<ProjectDashRollupRow> value) { this.Rollup = value; return this; }
}
public static class DashboardStatTile
{
public String Key = null;
public String Label = null;
public Double Value = null;
public Double PreviousValue = null;
public String Unit = null;
public Double DeltaPct = null;
public String getKey() { return Key; }
public DashboardStatTile setKey(String value) { this.Key = value; return this; }
public String getLabel() { return Label; }
public DashboardStatTile setLabel(String value) { this.Label = value; return this; }
public Double getValue() { return Value; }
public DashboardStatTile setValue(Double value) { this.Value = value; return this; }
public Double getPreviousValue() { return PreviousValue; }
public DashboardStatTile setPreviousValue(Double value) { this.PreviousValue = value; return this; }
public String getUnit() { return Unit; }
public DashboardStatTile setUnit(String value) { this.Unit = value; return this; }
public Double getDeltaPct() { return DeltaPct; }
public DashboardStatTile setDeltaPct(Double value) { this.DeltaPct = value; return this; }
}
public static class DashboardSeries
{
public String Name = null;
public ArrayList<DashboardSeriesPoint> Points = new ArrayList<DashboardSeriesPoint>();
public String getName() { return Name; }
public DashboardSeries setName(String value) { this.Name = value; return this; }
public ArrayList<DashboardSeriesPoint> getPoints() { return Points; }
public DashboardSeries setPoints(ArrayList<DashboardSeriesPoint> value) { this.Points = value; return this; }
}
public static class DashboardSeriesPoint
{
public String Label = null;
public Double Value = null;
public String getLabel() { return Label; }
public DashboardSeriesPoint setLabel(String value) { this.Label = value; return this; }
public Double getValue() { return Value; }
public DashboardSeriesPoint setValue(Double value) { this.Value = value; return this; }
}
public static class ProjectDashOverdueRow
{
public String ProjectName = null;
public String JobName = null;
public String ExpectedCompletionDate = null;
public Integer DaysOverdue = null;
public Boolean IsAtRisk = null;
public String getProjectName() { return ProjectName; }
public ProjectDashOverdueRow setProjectName(String value) { this.ProjectName = value; return this; }
public String getJobName() { return JobName; }
public ProjectDashOverdueRow setJobName(String value) { this.JobName = value; return this; }
public String getExpectedCompletionDate() { return ExpectedCompletionDate; }
public ProjectDashOverdueRow setExpectedCompletionDate(String value) { this.ExpectedCompletionDate = value; return this; }
public Integer getDaysOverdue() { return DaysOverdue; }
public ProjectDashOverdueRow setDaysOverdue(Integer value) { this.DaysOverdue = value; return this; }
public Boolean getIsAtRisk() { return IsAtRisk; }
public ProjectDashOverdueRow setIsAtRisk(Boolean value) { this.IsAtRisk = value; return this; }
}
public static class ProjectDashRollupRow
{
public String ProjectName = null;
public String StatusName = null;
public Integer JobCount = null;
public Integer CompletedJobCount = null;
public Double TaskPct = null;
public Double MilestonePct = null;
public String getProjectName() { return ProjectName; }
public ProjectDashRollupRow setProjectName(String value) { this.ProjectName = value; return this; }
public String getStatusName() { return StatusName; }
public ProjectDashRollupRow setStatusName(String value) { this.StatusName = value; return this; }
public Integer getJobCount() { return JobCount; }
public ProjectDashRollupRow setJobCount(Integer value) { this.JobCount = value; return this; }
public Integer getCompletedJobCount() { return CompletedJobCount; }
public ProjectDashRollupRow setCompletedJobCount(Integer value) { this.CompletedJobCount = value; return this; }
public Double getTaskPct() { return TaskPct; }
public ProjectDashRollupRow setTaskPct(Double value) { this.TaskPct = value; return this; }
public Double getMilestonePct() { return MilestonePct; }
public ProjectDashRollupRow setMilestonePct(Double value) { this.MilestonePct = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/dashboard/project HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FromDate: 0001-01-01,
ToDate: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Stats:
[
{
Key: String,
Label: String,
Value: 0,
PreviousValue: 0,
Unit: String
}
],
JobStatus:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
Throughput:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
CycleDistribution:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
Bottleneck:
{
Name: String,
Points:
[
{
Label: String,
Value: 0
}
]
},
OverdueJobs:
[
{
ProjectName: String,
JobName: String,
ExpectedCompletionDate: String,
DaysOverdue: 0,
IsAtRisk: False
}
],
Rollup:
[
{
ProjectName: String,
StatusName: String,
JobCount: 0,
CompletedJobCount: 0,
TaskPct: 0,
MilestonePct: 0
}
]
}