package com.qqchen.deploy.backend.workflow.dto.outputs;

import com.qqchen.deploy.backend.deploy.enums.JenkinsBuildStatus;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * Jenkins构建节点输出
 *
 * @author qqchen
 * @since 2025-10-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class JenkinsBuildOutputs extends BaseNodeOutputs {
    
    /**
     * 构建编号
     */
    private Integer buildNumber;
    
    /**
     * 构建状态
     */
    private JenkinsBuildStatus buildStatus;
    
    /**
     * 构建URL
     */
    private String buildUrl;
    
    /**
     * 构建产物地址
     */
    private String artifactUrl;
    
    /**
     * Git提交ID
     */
    private String gitCommitId;
    
    /**
     * 构建时长（秒）
     */
    private Integer buildDuration;

    /**
     * 构建时长（毫秒）
     */
    private Long buildDurationMillis;

    /**
     * 构建时长（格式：HH:mm:ss），例如 00:02:39
     */
    private String buildDurationFormatted;

    private Long buildEndTimeMillis;

    private String buildEndTime;
}

