LSTANCZYK
8/17/2015 - 10:26 PM

AppVeyor Build Report Structure

AppVeyor Build Report Structure

public class AppVeyorJob
{
    public string Id { get; set; }
    public string Name { get; set; }
    public bool Passed { get; set; }
    public bool Failed { get; set; }
    public string Status { get; set; }
    public DateTime Started { get; set; }
    public DateTime Finished { get; set; }
    public TimeSpan Duration { get; set; }
    public string[] Messages { get; set; }
    public List<AppVeyorCompilationMessage> CompilationMessages { get; set; }
    public List<AppVeyorArtifact> Artifacts { get; set; }
}
public class AppVeyorEventData
{
    public bool Passed { get; set; }
    public bool Failed { get; set; }
    public string Status { get; set; }
    public DateTime Started { get; set; }
    public DateTime Finished { get; set; }
    public TimeSpan Duration { get; set; }
    public int ProjectId { get; set; }
    public string ProjectName { get; set; }
    public int BuildId { get; set; }
    public int BuildNumber { get; set; }
    public string BuildVersion { get; set; }
    public string RepositoryName { get; set; }
    public string RepositoryProvider { get; set; }
    public string RepositoryScm { get; set; }
    public string Branch { get; set; }
    public string CommitId { get; set; }
    public string CommitAuthor { get; set; }
    public string CommitAuthorEmail { get; set; }
    public DateTime CommitDate { get; set; }
    public string CommitMessage { get; set; }
    public string CommitterName { get; set; }
    public string CommitterEmail { get; set; }
    public string BuildUrl { get; set; }
    public string NotificationSettingsUrl { get; set; }
    public string[] Messages { get; set; }
    public List<AppVeyorJob> Jobs { get; set; }
}
public class AppVeyorCompilationMessage
{
    public string Category { get; set; }
    public string Message { get; set; }
    public string Details { get; set; }
    public string FileName { get; set; }
    public string Line { get; set; }
    public string Column { get; set; }
    public string ProjectName { get; set; }
    public string ProjectFileName { get; set; }
    public DateTime Created { get; set; }
}
public class AppVeyorBuildReport
{
    public bool IsSuccess()
    {
        return EventName == "build_success";
    }

    public string EventName { get; set; }
    public AppVeyorEventData EventData { get; set; }
}    
public class AppVeyorArtifact
{
    public string FileName { get; set; }
    public string Name { get; set; }
    public string Type { get; set; }
    public int Size { get; set; }
    public string Url { get; set; }
}