Esempio n. 1
0
        private IBuildDetail GetBuildDetail(BuildStatusChangeEvent statusChanged)
        {
            var buildSpec = _buildServer.CreateBuildDefinitionSpec(statusChanged.TeamProject);
            var detail    = _buildServer.GetBuild(buildSpec, statusChanged.Id, null, QueryOptions.All);

            return(detail);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            LogArguments(args);

            Uri    projectCollectionUri = new Uri(args.ElementAt(0));
            Guid   projectCollectionId  = Guid.Parse(args.ElementAt(1));
            Uri    buildUri             = new Uri(args.ElementAt(2));
            string logPath = Path.GetFullPath(args.ElementAt(3));

            Console.WriteLine("Project collection URI: " + projectCollectionUri);
            Console.WriteLine("Project collection id:  " + projectCollectionId);
            Console.WriteLine("Build URI:              " + buildUri);
            Console.WriteLine("Log path:               " + logPath);

            string tfsUriFromCollectionUri             = projectCollectionUri.AbsoluteUri.Replace(projectCollectionUri.Segments.Last(), string.Empty);
            TfsConfigurationServer configurationServer = TfsConfigurationServerFactory.GetConfigurationServer(new Uri(tfsUriFromCollectionUri));

            TfsTeamProjectCollection teamProjectCollection = configurationServer.GetTeamProjectCollection(projectCollectionId);

            IBuildServer buildServer = (IBuildServer)teamProjectCollection.GetService(typeof(IBuildServer));

            IBuildDetail buildDetails = buildServer.GetBuild(buildUri);

            Console.WriteLine("Build details have been retrieved");

            using (WebClient webClient = new WebClient())
            {
                // see http://stackoverflow.com/questions/11414266/obtain-network-credentials-from-current-user-in-windows-authentication-applicati
                webClient.Credentials = CredentialCache.DefaultNetworkCredentials;

                string buildLogJson = webClient.DownloadString(buildDetails.LogLocation);

                BuildLogDetail buildInfo = JsonConvert.DeserializeObject <BuildLogDetail>(buildLogJson);
                Console.WriteLine("Build log has been retrieved");

                using (StreamWriter logWriter = new StreamWriter(logPath))
                {
                    foreach (BuildStep buildStep in buildInfo.value)
                    {
                        LogBuildStep(buildStep, logWriter);
                    }
                    Console.WriteLine("Build log has been generated");
                }
            }
        }
Esempio n. 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("<html>");
        string teamFoundationServerUrl = Request.Params["TeamFoundationServerUrl"];
        string buildUri = Request.Params["BuildUri"];

        if (String.IsNullOrEmpty(teamFoundationServerUrl))
        {
            teamFoundationServerUrl = "http://localhost:8080";
        }

        if (String.IsNullOrEmpty(buildUri))
        {
            Response.Write("<title>LogViewer Error</title><body>A valid BuildUri must be passed</body></html>");
            Response.End();
            return;
        }

        TeamFoundationServer tfs         = new TeamFoundationServer(teamFoundationServerUrl);
        IBuildServer         buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer));

        IBuildDetail buildDetail = buildServer.GetBuild(new Uri(buildUri));

        String logFile = Path.Combine(buildDetail.DropLocation, BuildConstants.BuildLogFileName);

        Response.Write("<title>Build Log: " + buildDetail.BuildNumber + "</title><body>\r\n<pre>");

        StreamReader reader = File.OpenText(logFile);
        String       line   = reader.ReadLine();

        while (line != null)
        {
            WriteLine(line);
            line = reader.ReadLine();
        }
        reader.Close();

        Response.Write("</pre></html>");

        Response.End();
    }
        public G19BuildScreenAppletModel GetBuildInformation(IBuildServer buildServer, string buildDefinition, string teamProject)
        {
            G19BuildScreenAppletModel model = new G19BuildScreenAppletModel();

            IBuildDefinition buildDetailSpec = buildServer.GetBuildDefinition(teamProject, buildDefinition);

            IBuildDetail build = buildServer.GetBuild(buildDetailSpec.LastBuildUri);

            switch (build.Status)
            {
                case BuildStatus.Succeeded:
                    model.Status = build.Status.ToString();
                    break;
                case BuildStatus.Failed:
                    model.Status = build.Status.ToString();
                    break;
                case BuildStatus.InProgress:
                    model.Status = build.Status.ToString();
                    break;
                case BuildStatus.PartiallySucceeded:
                    model.Status = build.Status.ToString();
                    break;
                case BuildStatus.Stopped:
                    model.Status = build.Status.ToString();
                    break;
                default:
                    break;
            }


            model.RequestedBy = build.RequestedBy;
            model.TeamProjectName = build.TeamProject;
            model.TimeRequested = build.StartTime;
            model.BuildDefinitionName = build.BuildDefinition.Name;
            model.BuildUri = build.Uri;
            return model;
        }
Esempio n. 5
0
 private IBuildDetail GetBuildDetail(BuildStatusChangeEvent statusChanged)
 {
     return(_buildServer.GetBuild(new Uri(statusChanged.BuildUri)));
 }