Skip to content

[Feature] Improve yml readability #112

@tim-steinkuhler

Description

@tim-steinkuhler

Describe the feature
Structure the yml so that it matches the dbt Cloud UI.

Currently, the generated yml files are sorted alphabetically, so it took me a while to decypher what part of the yaml was responsible for what part of dbt Cloud job configuration. If you structure the yml in a way that it matches the dbt Cloud UI, it is easier to understand.

Example of re-ordered yaml:

jobs:
  build:
    account_id: 1
    project_id: 2
    environment_id: 3
    linked_id: 4

    # Job Settings
    job_type: scheduled
    name: prod - scheduled build
    description: Scheduled build job on prod


    # Execution settings
    run_generate_sources: false
    execute_steps:
      - dbt build
    generate_docs: true


    # Triggers
    triggers:
      github_webhook: false
      git_provider_webhook: false
      schedule: true
      on_merge: false

    schedule:
      cron: "0 4,9,13 * * 0,1,2,3,4,5,6"
    
    triggers_on_draft_pr: false
    job_completion_trigger_condition:


    # Advanced settings
    custom_environment_variables: []
    settings:
      threads: 4
      target_name: "prod"
    execution:
      timeout_seconds: 0

    dbt_version:  #  Inherited from environment

    deferring_job_definition_id:  # we defer to this environment instead
    deferring_environment_id: 3
    run_compare_changes: false
    compare_changes_flags: --select state:modified

Who will this benefit?
Anyone that wants to match the yaml to the outcome (job configuration) in dbt Cloud.

Are you interested in contributing this feature?

Perhaps if you agree that this is a good idea, we could chat about how to go about this

Metadata

Metadata

Assignees

Labels

triageIssue needs to be triaged by the maintainer team.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions