尝试从团队城市夏普服务器获取开始日期
本文关键字:服务器 获取 开始 日期 夏普 城市 团队 | 更新日期: 2023-09-27 18:33:44
这是我的代码,用于获取与TeamCitySharp服务器的Json连接。 本地主机是我的 Json 连接。 现在,我正在尝试获取当我转到本地主机时要显示的开始日期,但它显示为空。 关于如何解决这个问题的任何想法?
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:81/Status/AllStatuses");
var response = request.GetResponse();
var reader = new StreamReader(response.GetResponseStream());
var responseString = reader.ReadToEnd();
var serializer = new JavaScriptSerializer();
serializer.RegisterConverters((new[] { new DynamicJsonConverter() }));
dynamic obj = serializer.Deserialize(responseString, typeof(object));
foreach (var objects in obj)
{
foreach (var project in client.Projects)
{
foreach (var build in project.Builds)
{
bs.date = project.ProjectStartDate.ToString();
这是在单独项目中调用 Jsonresult 的另一个控制器上。
public JsonResult AllStatuses() //from the json called in the _client view
{
var buildStatuses = new List<BuildStatus>();
var projects = Client.AllProjects();
//var projects = storeDB.Projects.Include("Builds").ToList();
//var buildStatuses = new List<BuildStatus>();
foreach (var project in projects)
{
try
{
var buildConfigs = Client.BuildConfigsByProjectId(project.Id);
foreach (var buildConfig in buildConfigs)
{
var build = Client.LastBuildByBuildConfigId(buildConfig.Id);
var b = new BuildStatus();
b.id = buildConfig.Id.ToString();
if (b.date != null)
b.date = b.date.ToString();
if (b.status != null)
b.status = build.Status.ToString();
buildStatuses.Add(b);
}
} catch { }
}
//var query = buildStatuses.OrderBy(x => x.status); // Create a sorted list from Error - Unknown
return Json(buildStatuses, JsonRequestBehavior.AllowGet);
}
我不确定这个问题是否仍然与提出这个问题的人相关。我会为可能遇到相同问题的其他人回答这个问题。
有一个FluentTc库,它可以通过其REST API轻松访问TeamCity。有一种方法可以检索构建及其开始和/或完成日期:
IList builds =
new RemoteTc().Connect(h => h.ToHost("teamcity.codebetter.com").AsGuest())
.GetBuilds(b =>
b.BuildConfiguration(c =>
c.Id("FluentTc_FluentTcDevelop"))
.Branch(r => r.Branched()),
i => i.IncludeStatusText().IncludeStartDate().IncludeFinishDate());
该库以 nuget 包的形式提供:https://www.nuget.org/packages/fluenttc