Zadig 文档
Zadig
教程
博客
论坛
关于
中文英文
Zadig
教程
博客
论坛
关于
Zadig v4.2
Loading...
     编辑文档
     反馈问题
     社区讨论

    本页导航

    Release Plan

    This article primarily explains how to use Zadig's release plan feature, including planning, approval, and execution of release plans, as well as tracking detailed operation records.

    # Planning

    Access Management -> Release Plan: Create a new release plan, fill in the details, and save it as a draft. This feature supports multi-person collaboration for planning the release.

    Release Plan

    Parameter Description:

    • Name: The name of the release plan
    • Release Owner: The person responsible for this release. After the release plan is formulated, only the owner can execute the release
    • Release Window: The time window during which publishing operations can be performed
    • Scheduled Execution: Execute the workflow in the release items at a specified time
    • Requirement Association: The associated requirement list, supporting multiple JIRA sprints
    • Release Content: Specific release content, which can include multiple items. Each release item can specify an owner, and only the specified owner can execute it. Release items include two types: rich text and workflow
      • Rich Text Type: Input content
      • Workflow Type: Select the project and workflow in Zadig and configure the workflow parameters as needed
    • Approval Configuration: Configure approval as needed, supporting three methods: Zadig, Feishu, and DingTalk
      • Zadig : The approval application will be sent to the email address corresponding to the account Zadig For specific approval configuration, please refer to the document Zadig
      • Feishu : The approval application will be sent to Feishu. For specific approval configuration, please refer to the document Feishu for approval.
      • Dingtalk : The approval application will be sent to DingTalk. For specific approval configuration, please refer to the document DingTalk approval.

    # Approval

    This applies to scenarios where the release plan includes approval configuration.

    After the release owner submits the approval, the approver is responsible for the approval. Only after the approval is granted can the release owner proceed with the release.

    Tip

    If the approval is rejected, the release plan content can be edited again and the release plan can be re-planned.

    Release Plan

    # Execution

    Tip

    1. Execution can be performed within the release time window.
    2. Only the release owner can execute the release.

    For rich text type release content, click Complete on the right and enter the release notes.

    Release Plan

    For workflow type release content, click Execute on the right to automatically trigger the workflow execution. Click the link to view the workflow execution details.

    For release items that need to be skipped, click Skip. Once all release items are either executed or skipped, the release plan will be automatically marked as completed.

    # Operation Record

    The system keeps a detailed record of the release plan's operation logs. Click Operation Record to view them.

    Release Plan

    # Hook External Systems and CallBack

    # Hook External Systems

    Request

    POST
    
    1

    Body Parameter Description

    Parameter NameTypeDescription
    idstringRelease plan id
    indexstringRelease plan index
    namestringRelease plan name
    event_namestringEvent name, enum values: finish_planning, start_execute, all_job_done
    descriptionstringRequirement association
    managerstringRelease owner
    manager_idstringRelease owner ID
    instance_codestringInstance Code (different after each edit)
    start_timeintRelease window - start time
    end_timeintRelease window - end time
    schedule_execute_timeintScheduled execution time
    approval_timeintApproval time
    planning_timeintPlanning time
    executing_timeintExecution time
    success_timeintSuccess time
    statusstringStatus
    jobs[]HookReleasePlanJobRelease content list
    created_bystringCreator
    create_timeintCreation time
    updated_bystringUpdater
    update_timeintUpdate time

    Release Plan Status Description

    NameDescription
    planningPlanning
    finish_planningFinished planning
    wait_for_approvalWaiting for approval
    executingExecuting
    deniedDenied
    timeoutTimeout
    successSuccess
    wait_for_finish_planning_external_checkWaiting for finish planning external check
    wait_for_execute_external_checkWaiting for execution external check
    wait_for_all_done_external_checkWaiting for all jobs done external check
    wait_for_finish_planning_external_check_failedWaiting for finish planning external check failed
    wait_for_execute_external_check_failedWaiting for execution external check failed
    wait_for_all_done_external_check_failedWaiting for all jobs done external check failed
    cancelCancel

    HookReleasePlanJob Parameter Description

    Parameter NameTypeDescription
    idstringRelease task id
    namestringRelease task name
    statusstringRelease task status
    typestringRelease task type, including text and workflow
    specReleaseJobSpecRelease task specification, when type is text, the specification is TextReleasePlanJob, when type is workflow, the specification is WorkflowReleasePlanJob
    executed_bystringExecutor
    executed_timestringExecution time

    Release Plan Task Status Description

    NameDescription
    todoNot started
    doneCompleted
    skippedSkipped
    failedFailed
    runningRunning

    TextReleasePlanJob Parameter Description

    Parameter NameTypeDescription
    contentstringContent
    remarkstringRemark

    WorkflowReleasePlanJob Parameter Description

    Parameter NameTypeDescription
    workflowWorkflowWorkflow
    statusstringTask status including: created(creating), running(running), passed(passed), failed(failed), timeout(timeout), cancelled(cancelled)
    task_idintWorkflow task ID

    Workflow Parameter Description

    Parameter NameTypeDescription
    namestringWorkflow identifier
    display_namestringWorkflow display name
    disabledboolWhether disabled
    params[]WorkflowParamGlobal variable list
    stages[]WorkflowStageStages
    projectstringProject identifier
    descriptionstringDescription
    created_bystringCreator
    create_timeintCreation time
    updated_bystringUpdater
    update_timeintUpdate time
    remarkstringRemark

    WorkflowParam Global Variable Parameter Description

    Parameter NameTypeDescription
    namestringVariable name
    descriptionstringVariable description
    typestringVariable type, supports string/text/choice/repo types
    valuestringVariable value
    repoReporepo type variable value, used when type is repo
    choice_options[]stringChoice option values
    choice_value[]stringChoice values
    defaultstringDefault value
    is_credentialboolWhether it is sensitive information
    sourcestringSource, supports runtime/fixed/reference

    Repo Parameter Description

    Parameter NameTypeDescription
    sourcestringSource
    repo_ownerstringRepository owner
    repo_namespacestringRepository namespace
    repo_namestringRepository name
    remote_namestringRemote name
    branchstringBranch name
    prs[]intPR number list
    tagstringTag name
    commit_idstringCommit ID
    commit_messagestringCommit message
    checkout_pathstringCheckout path
    codehost_idintCode source ID
    addressstringAddress

    WorkflowStage Parameter Description

    Parameter NameTypeDescription
    namestringName
    jobs[]WorkflowJobJob list

    WorkflowJob Parameter Description

    Parameter NameTypeDescription
    namestringName
    typeWorkflowJobTypeType, supports zadig-build/zadig-deploy/zadig-vm-deploy/zadig-test/zadig-scanning/zadig-distribute-image/freestyle/apollo/nacos/sql
    specanyJob specification
    run_policystringRun policy, supports default_not_run/force_run/skip, if empty then default run

    WorkflowJobType Parameter Description

    Parameter NameCorresponding SpecDescription
    zadig-buildWorkflowBuildJobSpecBuild job Spec
    zadig-deployWorkflowDeployJobSpecDeploy job Spec
    zadig-vm-deployWorkflowVmDeployJobSpecVM deploy job Spec
    zadig-testWorkflowTestingJobSpecTest job Spec
    zadig-scanningWorkflowScanningJobSpecScanning job Spec
    zadig-distribute-imageWorkflowDistributeImageJobSpecDistribute image job Spec
    freestyleWorkflowFreestyleJobSpecGeneral job Spec
    apolloWorkflowApolloJobSpecApollo job Spec
    nacosWorkflowNacosJobSpecNacos job Spec
    sqlWorkflowSqlJobSpecSQL job Spec

    WorkflowBuildJobSpec Parameter Description

    Parameter NameTypeDescription
    sourcestringSource, optional values: runtime/fixed/fromjob
    job_namestringReferenced job name, used when source is fromjob
    ref_reposboolWhether to reference selected job code info
    service_and_builds[]ServiceAndBuildService and build list

    ServiceAndBuild Parameter Description

    Parameter NameTypeDescription
    service_namestringService name
    service_modulestringService module
    build_namestringBuild name
    imagestringImage address
    packagestringBinary package address
    image_namestringImage name
    key_vals[]KeyValBuild variable list
    repos[]RepoRepository list

    KeyVal Parameter Description

    Parameter NameTypeDescription
    keystringVariable name
    valuestringVariable value
    typestringVariable type, optional values: string/choice/multi-select/image/script
    registry_idstringImage registry ID
    scriptstringScript
    call_functionstringCall function
    choice_option[]stringChoice option values
    choice_value[]stringChoice values
    is_credentialboolWhether it is sensitive information
    descriptionstringDescription
    sourcestringSource, optional values: runtime/fixed/reference

    WorkflowDeployJobSpec Parameter Description

    Parameter NameTypeDescription
    envstringEnvironment name
    productionboolWhether it is production environment
    deploy_typestringDeploy type
    sourcestringSource, fromjob/runtime, runtime means runtime input, fromjob means get from upstream build job
    env_sourcestringEnvironment source, fromjob/runtime, runtime means runtime input, fromjob means get from upstream build job
    deploy_contents[]stringDeploy content, including image/vars/config
    job_namestringReferenced job name, used when source is fromjob
    version_namestringVersion name, used when importing from version
    services[]DeployServiceInfoService list

    DeployServiceInfo Parameter Description

    Parameter NameTypeDescription
    service_namestringService name
    modules[]DeployModuleInfoModule list
    deployedboolWhether deployed
    auto_syncboolWhether auto sync is enabled in environment
    update_configboolWhether to update config
    updatableboolWhether updatable
    variable_kvs[]DeployVariableKvVariable list
    variable_yamlstringFinal variable Yaml, used for Helm and K8S Yaml services
    value_merge_strategystringValues merge strategy, used for Helm services, options: override/reuse-values
    override_kvsstringKey-value pair variables, used for Helm services, json encoded key-value pairs

    DeployModuleInfo Parameter Description

    Parameter NameTypeDescription
    service_modulestringService module
    imagestringImage address
    image_namestringImage name

    DeployVariableKv Parameter Description

    Parameter NameTypeDescription
    keystringVariable name
    valuestringImage address
    typestringVariable type, optional values: string/bool/enum/yaml
    optionsstringChoice option values, used when type is enum
    descstringDescription
    use_global_variableboolWhether to use global variable

    WorkflowVmDeployJobSpec Parameter Description

    Parameter NameTypeDescription
    envstringEnvironment name
    productionboolWhether it is production environment
    env_aliasstringEnvironment alias
    sourcestringSource, fromjob/runtime, runtime means runtime input, fromjob means get from upstream build job
    job_namestringReferenced job name, used when source is fromjob
    ref_reposboolWhether to reference selected job code info
    service_and_vm_deploys[]ServiceAndVmDeployService and VM deploy list

    ServiceAndVmDeploy Parameter Description

    Parameter NameTypeDescription
    service_namestringService name
    service_modulestringService module
    deploy_namestringDeploy name
    deploy_artifact_typestringDeploy artifact type, optional values: image/file/other
    artifact_urlstringDeploy artifact address
    file_namestringDeploy artifact file name
    imagestringDeploy artifact image address
    key_vals[]KeyValVariable list
    repos[]RepoRepository list

    WorkflowFreestyleJobSpec Parameter Description

    Parameter NameTypeDescription
    freestyle_typestringGeneral job type, empty for single service, service_freestyle for multi-service
    sourcestringSource, fromjob/runtime, runtime means runtime input, fromjob means get from upstream build job
    job_namestringReferenced job name, used when source is fromjob
    ref_reposboolWhether to reference selected job code info
    repos[]RepoRepository list, used for single service
    envs[]KeyValVariable list, used for single service
    services[]FreeStyleServiceInfoService list

    FreeStyleServiceInfo Parameter Description

    Parameter NameTypeDescription
    service_namestringService name
    service_modulestringService module
    repos[]RepoRepository list
    key_vals[]KeyValVariable list

    WorkflowTestingJobSpec Parameter Description

    Parameter NameTypeDescription
    testing_typestringTest job type, empty for single service, service_test for multi-service
    sourcestringSource, fromjob/runtime, runtime means runtime input, fromjob means get from upstream build job
    job_namestringReferenced job name, used when source is fromjob
    ref_reposboolWhether to reference selected job code info
    service_and_tests[]ServiceAndTestService and test list, used when test job type is multi-service
    test_modules[]TestModuleTest module list, used when test job type is single service

    ServiceAndTest Parameter Description

    Parameter NameTypeDescription
    namestringTest name
    service_namestringService name
    service_modulestringService module
    repos[]RepoRepository list
    key_vals[]KeyValVariable list

    TestModule Parameter Description

    Parameter NameTypeDescription
    namestringTest name
    repos[]RepoRepository list
    key_vals[]KeyValVariable list

    WorkflowScanningsJobSpec Parameter Description

    Parameter NameTypeDescription
    scannings_typestringScanning job type, empty for single service, service_scannings for multi-service
    sourcestringSource, fromjob/runtime, runtime means runtime input, fromjob means get from upstream build job
    job_namestringReferenced job name, used when source is fromjob
    ref_reposboolWhether to reference selected job code info
    service_and_scannings[]ServiceAndScanningsService and scanning list, used when scanning job type is multi-service
    scannings_modules[]ScanningsModuleScanning module list, used when scanning job type is single service

    ServiceAndScannings Parameter Description

    Parameter NameTypeDescription
    namestringScanning name
    service_namestringService name
    service_modulestringService module
    repos[]RepoRepository list
    key_vals[]KeyValVariable list

    ScanningsModule Parameter Description

    Parameter NameTypeDescription
    namestringScanning name
    repos[]RepoRepository list
    key_vals[]KeyValVariable list

    WorkflowNacosJobSpec Parameter Description

    Parameter NameTypeDescription
    nacos_idstringNacos ID
    namespace_idstringNacos namespace ID
    sourcestringSource, fixed/runtime, runtime means runtime input, fixed means fixed value
    nacos_datas[]NacosDataNacos data list

    NacosData Parameter Description

    Parameter NameTypeDescription
    data_idstringData ID
    groupstringData group
    descstringData description
    formatstringData format
    contentstringData content
    original_contentstringOriginal data content
    namespace_idstringNacos namespace ID
    namespace_namestringNacos namespace name

    WorkflowApolloJobSpec Parameter Description

    Parameter NameTypeDescription
    apollo_idstringApollo ID
    namespace_list[]ApolloNamespaceApollo namespace list

    ApolloNamespace Parameter Description

    Parameter NameTypeDescription
    app_idstringApplication ID
    cluster_idstringCluster ID
    envstringEnvironment
    namespacestringNamespace
    typestringType
    original_config[]ApolloKVOriginal config
    kv[]ApolloKVKey-value list

    ApolloKV Parameter Description

    Parameter NameTypeDescription
    keystringKey
    valstringValue

    WorkflowSqlJobSpec Parameter Description

    Parameter NameTypeDescription
    idstringDatabase instance ID
    typestringDatabase instance type, mysql/mariadb
    sqlstringSQL statement
    sourcestringSource, fixed/runtime, runtime means runtime input, fixed means fixed value

    WorkflowDistributeImageJobSpec Parameter Description

    Parameter NameTypeDescription
    sourcestringSource, fromjob/runtime, runtime means runtime input, fromjob means get from upstream build job
    job_namestringReferenced job name, used when source is fromjob
    distribute_methodstringDistribute image method, image_push/cloud_sync
    targets[]DistributeImageTargetImage distribution target list
    enable_target_image_tag_rulestringWhether to enable image version rule
    target_image_tag_rulestringImage version rule

    DistributeImageTarget Parameter Description

    Parameter NameTypeDescription
    service_namestringService name
    service_modulestringService module
    source_tagstringSource image tag
    target_tagstringImage version
    image_namestringImage name
    source_imagestringSource image
    target_imagestringTarget image
    update_tagboolIf UpdateTag is false, use source tag as target tag

    Body Parameter Example

    Details
    {
      "object_kind": "release_plan",
      "event": "release_plan",
      "workflow": null,
      "release_plan": {
        "id": "68b7ec363306e52e21b2dbe6",
        "index": 52,
        "name": "workflow-plan-3",
        "event_name": "all_job_done",
        "manager": "patrick",
        "manager_id": "14790d50-37b3-11f0-b3aa-ee39782dea6e",
        "start_time": 1756883513,
        "end_time": 1757488313,
        "schedule_execute_time": 1756893020,
        "description": "<p><br></p>",
        "created_by": "patrick",
        "create_time": 1756884022,
        "updated_by": "系统",
        "update_time": 1756893023,
        "jobs": [
          {
            "id": "e092f96c-4f78-410e-88bb-7afa881471d9",
            "name": "all",
            "type": "workflow",
            "spec": {
              "workflow": {
                "name": "release-plan-hook-2",
                "display_name": "release-plan-hook-2",
                "disabled": false,
                "category": "",
                "params": [],
                "stages": [
                  {
                    "name": "build",
                    "jobs": [
                      {
                        "name": "build",
                        "type": "zadig-build",
                        "spec": {
                          "source": "runtime",
                          "job_name": "",
                          "ref_repos": false,
                          "service_and_builds": [
                            {
                              "service_name": "service1",
                              "service_module": "service1",
                              "build_name": "yaml-general-build",
                              "image": "{{.job.build.service1.service1.output.IMAGE}}",
                              "package": "{{.job.build.service1.service1.output.PKG_FILE}}",
                              "image_name": "service1",
                              "key_vals": [
                                {
                                  "key": "gggg",
                                  "value": "gggg",
                                  "type": "string",
                                  "registry_id": "",
                                  "is_credential": false,
                                  "description": "",
                                  "source": "runtime"
                                }
                              ],
                              "repos": [
                                {
                                  "source": "gitlab",
                                  "repo_owner": "kr-test-org1",
                                  "repo_namespace": "kr-test-org1",
                                  "repo_name": "multi-service-demo",
                                  "remote_name": "origin",
                                  "branch": "patrick-01",
                                  "tag": "",
                                  "commit_id": "311fa899187a674a2e7fbf76cf2eeecdc8a51ac1",
                                  "commit_message": "update service2 values\n",
                                  "checkout_path": "",
                                  "submodules": false,
                                  "codehost_id": 1,
                                  "address": "https://gitlab.com/",
                                }
                              ]
                            }
                          ]
                        },
                        "run_policy": ""
                      }
                    ]
                  }
                ],
                "project": "yaml",
                "description": "",
                "created_by": "patrick",
                "create_time": 1756883358,
                "updated_by": "patrick",
                "update_time": 1756883481,
                "remark": "",
                "enable_approval_ticket": false,
                "approval_ticket_id": ""
              },
              "status": "prepare",
              "task_id": 3
            },
            "status": "failed",
            "executed_by": "系统",
            "executed_time": 1756893022
          }
        ],
        "status": "wait_for_success_external_check",
        "planning_time": 1756892886,
        "approval_time": 0,
        "executing_time": 1756892896,
        "success_time": 1756893100
      }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111

    # Release Plan CallBack

    Request

    POST /api/callback/release_plan
    
    1

    Body Parameter Description

    Parameter NameTypeDescriptionRequiredDefault
    hook_eventstringHook event, enum values: finish_planning, start_execute, all_job_doneYesNone
    release_plan_idstringRelease plan IDYesNone
    instance_codestringInstance CodeYesNone
    resultstringResult, enum values: success, failedYesNone
    failed_reasonstringFailed reasonNoNone

    Body Parameter Example

    {
        "hook_event": "all_job_done",
        "release_plan_id": "68b7ec363306e52e21b2dbe6",
        "instance_code": "e52e21b68b7ec3",
        "result": "success",
        "failed_reason": ""
    }
    
    1
    2
    3
    4
    5
    6
    7

    Normal Response

    {
      "id": "6895627bd3a843cb7423728a"
    }
    
    1
    2
    3

    ← Release Process PracticeWorkflow→

    资源
    教程
    论坛
    博客
    公司
    关于
    客户故事
    加入我们
    联系我们
    微信扫一扫
    hello@koderover.com

    © 2026 筑栈(上海)信息技术有限公司 沪 ICP 备 19000177 号 - 1

    •  跟随系统
    •  浅色模式
    •  深色模式
    •  阅读模式