From 5a6439ac1db0e47d3952bd453e44e5be16b6401a Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 2 Oct 2024 12:19:42 -0700 Subject: [PATCH 01/13] Model-level notifications --- .../docs/docs/deploy/model-notifications.md | 58 +++++++++++++++++++ website/sidebars.js | 1 + 2 files changed, 59 insertions(+) create mode 100644 website/docs/docs/deploy/model-notifications.md diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md new file mode 100644 index 00000000000..384e5c5d9bb --- /dev/null +++ b/website/docs/docs/deploy/model-notifications.md @@ -0,0 +1,58 @@ +--- +title: "Model notifications" +description: "Receive notifications about failures with your models. " +--- + +# Model notifications + +Set up dbt to notify the appropriate owners — through Slack, email, or both — about any failures your models have encountered. When models fail, your reports are no longer accurate and the data can no longer be trusted so it's important to resolve these failures quickly. + +To be timely and keep the number of notifications to a reasonable amount, dbt observes the following guidelines when notifying the model owners: + +- For the first model that fails, send a notification to each unique model owner. This means that each owner receives only one notification, the initial one. +- Don't send any notifications about subsequent model failures while a dbt job is still running. +- At the end of a job run, send a recap notification that lists all the models that failed where the user is listed as an owner. + +Create configuration YAML files in your project for dbt to send notifications about the failures with your models. + +## Prerequisites + +## Configure groups + +```yml +version: 2 + +groups: + - name: finance + description: "Models related to the finance department" + owner: + # 'name' or 'email' is required + name: "Finance Team" + email: finance@dbtlabs.com + slack: finance-data + + - name: marketing + description: "Models related to the marketing department" + owner: + name: "Marketing Team" + email: marketing@dbtlabs.com + slack: marketing-data +``` + +## Set up models + +```yml +version: 2 + +models: + - name: sales + description: "Sales data model" + config: + group: finance + + - name: campaigns + description: "Campaigns data model" + config: + group: marketing + +``` \ No newline at end of file diff --git a/website/sidebars.js b/website/sidebars.js index e55f89413a3..931aad14329 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -497,6 +497,7 @@ const sidebarSettings = { "docs/deploy/run-visibility", "docs/deploy/retry-jobs", "docs/deploy/job-notifications", + "docs/deploy/model-notifications", "docs/deploy/webhooks", "docs/deploy/artifacts", "docs/deploy/source-freshness", From f47c5ea2b80166db0a2f5ea7985a8ce46cb0d111 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 2 Oct 2024 12:48:14 -0700 Subject: [PATCH 02/13] Minor update --- website/docs/docs/deploy/model-notifications.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 384e5c5d9bb..9b976f6f819 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -15,6 +15,12 @@ To be timely and keep the number of notifications to a reasonable amount, dbt ob Create configuration YAML files in your project for dbt to send notifications about the failures with your models. +:::info Beta feature + +This feature is currently available in [beta](/docs/dbt-versions/product-lifecycles#dbt-cloud) to a limited group of users and is gradually being rolled out. If you're in the beta, please contact the Support team at support@getdbt.com for assistance or questions. + +::: + ## Prerequisites ## Configure groups From 80c9674674c0bf2b44258105288cd688bce3d0d0 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 2 Oct 2024 13:12:31 -0700 Subject: [PATCH 03/13] Add acct setting requirement --- website/docs/docs/deploy/model-notifications.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 9b976f6f819..6a67799e7b0 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -22,6 +22,8 @@ This feature is currently available in [beta](/docs/dbt-versions/product-lifecyc ::: ## Prerequisites +- Your dbt Cloud administrator has [enabled the appropriate Account settings](/docs/cloud/account-settings) for you. + ## Configure groups From 44d538ca06e77239a7f90de9197a522b3cfdab2e Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Tue, 15 Oct 2024 16:28:27 -0700 Subject: [PATCH 04/13] Fold in feedback. Add screenshot. --- .../docs/docs/deploy/model-notifications.md | 33 +++++++++++++----- .../example-enable-model-notifications.png | Bin 0 -> 41733 bytes 2 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 website/static/img/docs/dbt-cloud/example-enable-model-notifications.png diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 6a67799e7b0..d0a0eaf3d2d 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -1,19 +1,24 @@ --- title: "Model notifications" -description: "Receive notifications about failures with your models. " +description: "Receive email notifications in real time about any issues with your models. " --- # Model notifications -Set up dbt to notify the appropriate owners — through Slack, email, or both — about any failures your models have encountered. When models fail, your reports are no longer accurate and the data can no longer be trusted so it's important to resolve these failures quickly. +Set up dbt to notify the appropriate model owners through email about issues as soon as they occur, while the job is still running. Model owners can specify which statuses to receive notifications about: -To be timely and keep the number of notifications to a reasonable amount, dbt observes the following guidelines when notifying the model owners: +- `Success` and `Fails` for models +- `Warning`, `Success`, and `Fails` for tests -- For the first model that fails, send a notification to each unique model owner. This means that each owner receives only one notification, the initial one. -- Don't send any notifications about subsequent model failures while a dbt job is still running. -- At the end of a job run, send a recap notification that lists all the models that failed where the user is listed as an owner. +With model-level notifications, model owners can be the first ones to know about issues before anyone else (like the stakeholders). -Create configuration YAML files in your project for dbt to send notifications about the failures with your models. +To be timely and keep the number of notifications to a reasonable amount when multiple models fail, dbt observes the following guidelines when notifying the owners: + +- Send a notification to each unique owner/email during a job run about any models (with status of failure/success) or tests (with status of warning/failure/success). Each owner receives only one notification, the initial one. +- Don't send any notifications about subsequent models or tests while a dbt job is still running. +- At the end of a job run, each owner receives a notification, for each of the statuses they specified to be notified about, with a list of models and tests that have that status. + +Create configuration YAML files in your project for dbt to send notifications about the status of your models and tests. :::info Beta feature @@ -22,7 +27,8 @@ This feature is currently available in [beta](/docs/dbt-versions/product-lifecyc ::: ## Prerequisites -- Your dbt Cloud administrator has [enabled the appropriate Account settings](/docs/cloud/account-settings) for you. +- Your dbt Cloud administrator has [enabled the appropriate account setting](#enable-access-to-model-notifications) for you. +- Your environment(s) must be on ["Versionless"](/docs/dbt-versions/versionless-cloud). ## Configure groups @@ -63,4 +69,13 @@ models: config: group: marketing -``` \ No newline at end of file +``` + +## Enable access to model notifications + +As a dbt Cloud administrator, perform these steps to enable the model-level notifications feature for account members: + +1. Navigate to **Notification settings** from your profile name in the sidebar (lower left-hand side). +1. From **Email notications**, enable the setting **Enable group/owner notifications on models** under the **Model notifications** section. Then, specify which statuses to receive notifications about (Success, Warning, and Fails). + + \ No newline at end of file diff --git a/website/static/img/docs/dbt-cloud/example-enable-model-notifications.png b/website/static/img/docs/dbt-cloud/example-enable-model-notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..16cf5457db5523a3cdd505accc59ee1f1666f45b GIT binary patch literal 41733 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�(Tuu#QM?G=Y;LfIb9dvar`zW^Ipa1;t zdjDA?{wu%#Y?lAkm;dU^AInpt4EBBvG?|)+zD>oTyu0D2LkvFY$M!A-N zi$We1SlkI)2bgHe$E1W9aM(DYx0_uM(|>I048>HQyblqu_#C-1ylt%4ZI`(9rMWi| zVk828@+RocJ#b*n&DI}3+K=NAu`{i@Z9@~Kkx$akc}+MB*D7?(=r%2miWt<#UY6M^ zm6duCDJ{7d;X05Jz=_?dL`7Lz^=_f;kIb*yR%xDa(CF+Fy`jr>#vj)tj6I`DLmJat zcE29MLkD9inH$!77`Q!$fohaR=jXw)Uam&Da{1CnbWI4csK5)DdMi9 zHe*<5a!<*EitR?Ha*&v->ee6T$S>hq*a977s?UDByg#QOC)He-)XHXC7G1Fg-Ji3 zBGgeAK**?#UB3Zxy*b|eL8N(UOCK3V@VMy_gY!MQll+PQJ543NvmPsw4bhhv99l4_~NG$ zLbBc@c)A8}tJ-Kk?1^?FrEFD2Bi`rnY=yx#_k&IVa(eE4{iU|b@neze| zUuLVs_d)OMAM&M$+N~x2^76gwJg}h}8rMGGo=h?f+UM7Ee;y8#^+?1GC%VS`Lm42S zAmZKyRGk6%1k4V6iB1Pc=Kd9-ioI?);Zd9%l;|mbvbDqFdawv;u8{mK)FrV`_uT#l+PETM$ifum5rUQY z-MBk{GD*xOs%|SGs#yzVL!XyaAR+O4;5>{?XsvN4bH5UrS98-OBMw5D>fe>v+*IOd*D zJT7E|9zEXTxWDK!hb#?w5KPmrU#-Clg-#o6jHtP&uY?;`IR9|mnQfM`=w7t@@^RCU zgYNrRPo7rQ^fBkyFvxu8OVbz&gHNFQn9@ca2|K@sf=T4oyM%`c=^^LhGF3wFnmuLu z&(Zte0Mq9CM|&dD?+Re8u-y-q^KXGudeYc8msgFm&ts}50ebC|aPPHIQ($1vrN&&` z@V{w>m=!1p0i_C{!t^C^8vu5&6657`{oyu~2OUZsTJ9shK z<3}iKoKAwJV_``JO~uF9G3O;-c75hsCW`fz{r$}P_;S@Q`&08tqHdJO2-D9uhBQl| z%jGAtf#HOCH-=t^q2g7CLaQkmZJ!it)H$%sLpAErA6NSA*G}%jAD)Dzvsc95G*#*; z0vmv;G-15}k7TCa6F(}^RTI*X9w7csii^c-<2pJz zUSTw;61Ksn5IyWybnozb0S}Xu^XPKJ^=W(qw6`G_7y|s9)|nO}nrM4^JD08auI*$} z|9e);;Q?DgkW(JQJs-lqocvK&j`X2uwfq^SzUI|PTmJn=kK}8|9+g`DSdn?v-bfl> zO|IEYVzrc5BkoY(Y`n`DDw(5T2}Krq<>%|<`)+#xveEsZ?rOTf0C`sdGTN{d0%@q> zJb(Tt2$6LH&imu^#!BWB^9G5beDH>H>ZxBV&l(#gA~(-ms$Sg@O5Ux%o<9=>CDad{ zn@<`S?#hIt{79XKa?WA~)rCVSZ=xiR;9A4lL*vEdD8!qNuOs0T5x$;~6ahtryFEIn)m_PARtNh|AFDB+_GHRSXAY%y{c|d(gTKU-6fc4qNh_{S#5~q$AP4BuZV)N3 z8_jQFD_hX)DY;4E?#=SYY3eS|BX0c}%*Jkl8ihnWK#CM8b5w%cg`D8&CVY| zwzTw_e<)_-(0|Pyi=odg{R+Cfcd^ZDq#{QJ`(WSi$7Serqx^id1O(eTU?X^}E){gt zQGAhRYP)mw@k|I2U_Mr#Nktqt0mk%7-$6?rdTiZ5wF8~|9eRUTg-MkQomESfT@suk z_WbP2%pyjEL-U(#?pk2@mH{q6>eqrezSbVjPU8%WSxiDHOwvA!Wd&L2n1ijoGsfio zhYt}>3$ZbXSNEK030k8bMezmq;0PC1NQq#6@2vDq(Kg}Fh3Qk7NszrTZ}|(HL|fgs zLY~DcfFt?c5EyFwFuza2_=Y1%-|NH2IKFO5n4H|Z66}8tpgj8TkKBH*``|W2%yP!W zWgwt8xavOV5setdX$!j9cT0*+`D(ipLQ^mWjn&18PWf5lUYM~}kw*}YIm%x#$pWA6)v-33)CtK&UcusqkC<$rKYsax; zeBHZ~B}Mmk)$#=W+DC0FEwY%v{4dAp=954s5Uv1GkHotB zQ^Wl$HE;K3qvO4BZb`5L(cL<5G|JTYL5w8pqBrw0HN#azjxuh=ceGxuS0V>; zKI}OPVc!PH+uS{>nG7tYD9QYrmBu%H;ZBPDnF*zT%e%wHMgf4%gRuO+EouVH|A!3W zGAoaISpZJoW(B6SU6dJ)GG5@7zG(nBY_TOPT;=HZ`_e=O%%JleHG}>K!)G)CcJYK* zzj*7YdJX7&8~}YlGRMOsv)@1S-xq-S?;@;igb%p@7Vt$l-F@oS09_8 zgh5Bq3V=0&0;!c0DXN1(7v&1a|Mn#4La}OG6w3I87AvJh4N?-D|rEf z`qvkM31jvTdW>yCH0-|VAWmDQ-#lvG8bca)E-=T5)XK^q$@y5KdyV(VV5edcuy}Cu zdu%-5&rVUHq3x+1Nx*Wr-o}Hoi)$|rbPgvB|2aoyx=vtl@(*c&SM%bW(6yi--i#*t zU71f!92bw+k0ST2f0{|yds*B;U)ZS0@V+UAL#H|aG12&|(@URyDo=2io};Gip3(;&=9>}9eIb!Ya6;Y$Pt78|LWru;42!P?!Njz z&AEW&ZXeJ5=*=ca^!ivWh8KuL+0oh2d;&(hg=6K8R9!I`{Yq z7;}J92g*hv;L?**+tP!CSmr{On-+R!IYHN;8?#Z6dN7}phy&XT4(Xg<->vdA-P|fH zhN=y8px4uma`oRVxUsK;cGE^psSQbjG9fE*5-y{Pn@p>JxObW9k2_UZC8g5T)!R1+ zA~7~y+f&*8TBZf2SsG>9Z#>E5lV{Zr_CK*5XTvahTsgwmRfH)bPE*4QL@X+lFfPNl z0A5@Sls-OLQLXtKOE-H*pGaV2M_fl|T!Q!Q1b$xLb^xk;u8M-+g=)dffhyKTE)erFgIs-k zNSJwvZTeO6Dze)m*)lM`)I{)2$-~#3#V(vGKJ7nPH4=L8sL6qZpH&JA9U#cXnfovo zZ*ZQ$dlo^n@2_JPzPWsFTd!zIb}$N+55x)zM-j}$y@>p%Fm3ai&gVFHXkO?#xIbRX{6=r=ckewfIRvUY=gwb~D;MK-@-&!#@ zB52$jt9`)$@zH;ss9OPR6?X6b#G_Wy=Nu0(z=TMfb@##nHhmNM&R7Yme=5zEQn!&Dr@2piE-}wq!#h7p(|6Zxrs*DQ z2kP8p;=b>cN7yM&Fely9`+3Sv1Nmty6Mozo2Y;Fc*9h}*C)bdM;$8c&-OD3L5u(|G z6I!g;I4}23 z@ndXLe2Lc(wjVZ8Z{g5`qZ8ee_j&`Vw|cI6-EzDp?$okJH_D3@?h+m+0M?gu9Caw{ zG5?)lmw~NN;VIDjlv%3ba`F(hg zh?K=tcX7Lqduh?fP`S(=C}s1^kjY*VX`sT5IF-w3%jjK0zG;RzPJb~nn)gHKF0+6| z+X$>_40QShA)b@(j1DK;XP)jh#ilSl>LV&_g4j_A^ zl%Rp(#nW@0$x*?f35eK2!<&irGA_s+Go(ZE+6U%m7OgdF<4&p+6_q)$R*xzRqC=eZ zSRfBI@v$Z3rWW#|ppo*g8KxC50gh!CvQ1FJY$l}{pj$7kbNHNrWw4f>dSegchznz}gKiso*c1 z4FD$Fp7l07_k>EKgGNQdU5*H8ZLxoRn%K>u`ET~c1&>DAnN0@S-{)nqiRnk`Jd478$E%=731){qaVJ_g?!*IMhzM^?z#3}3q4v3S z$bSmn|MQvkgXylwf-~SNmaLq6q|c__I@mOHZ&X$*jc?GrHU}`_lesS%P{?Ng{G{)J zu=98ZBI&G0*JlCXwwF6evYsJ}ZE|24k-?ld%poP_O(Vsgm(n92V|ey$jU5$h`>RiT z%6)5o8zI&zw&l%2*3_v-s^Lku-kfGBQ#CWvDeaW+1+IeWr7vN+GpCVKeQM^{j0#@h2$Kv_ zG@_p^j0&n}Nq3i%2kWjTwXP-5!Sm1$Wl4mEhznq(3%))q)8NDCkIJ+w-dBn&3K}*W z*V%Vm2bGhW?2?jlH%5y7ELdPUM@7vd9KMY#Ci}&hF7%~8@q?hg@6ab`q+oQswtgoxeJBV?!!>rZ{TVXLhTVMy@*@!D&*Iyg1D1 z_l14jaNM@nZRmkw`ssyfWmmyP5UWbFI76nWzDE2e`Bik()+T!(d40&3K}#+)?-Szw z=O<_*HYxk$L4=_Yn))#}nYa>zD$P2kX__T)wElPjjtWBa{N#&WZvDPw`6}i0kH_P5 znw)@f%<~Fi32vAwg!lMBGxUSg5zau7+nD|~ryU}IEbFhs^cd8ax}^%ea`+b-=(khO z#zqBAPTc()(RTPx7LG5QU>X*a!<0;O&o=^IQ!f^0P6B459zmG;=aj9d!N^XvyheNE zKK1?-y;+$X>Uj1z8_L&afVlsJ>4d`#rF-19bjr%gi4s(vr~5>6=&0N~{T8GT2V3Zr zxgGB-?)~)Gy`QUCC9(aN8cOl{EiCQqk0UJYp8yf$0>CX(lBq`~lK|Xu3n-zQH>&&X z|Ds&}f8dsypJ)CCw+H}mOMGdV&R-aq)8+u&Qp;fbH@HRf58UGKPJ{e#B+7Ghl5d$bMT@mjYMeYzxSS_7%QEbXZgZJ@8T%Lu)8 zE!!uUW}x`#@wz&wSRH1R!mOA?Q6fy_4M+j(5P*EB9AUb(n%^twvIWineqvBE$QK|WEq@cSUWwJo1n zu-9^X;hFd+PDy!5=a*e$HDGxh6s~KnbEGGr<9;E0{2Pc?wum}|`M^;4p~bG{pc$gr z%D6|+prs*!VUN@~TOHV$N0{&IX;#zP&cB+?@=~$+3)fMeiHgSb7Gn)Mc==)m=ydOu zC{}$nL8=DaOM=aV2nes$WP@dj&I66;x2lwDR>Bsyo|Z7@qhB?8dy*WbBnsx!u>|Sv5UK8@rGi}q}DEoDLW;-*&xa0}+btHviRmM=Dkn<~7>e9-ywM$_R?cW>O=bbs}Z zSOMN+Y0I|GW>pW)7g$zT#8%~&5B;h5k|eyNJk|ytg1`f+vb`x9Y}?IKFtI-C@CIcy z(s48W=wqcEb}560;&*Kme}ZkeN&PK@EUJ@UtJhhv#aH3-WZCYqwXs~!dLAk{k-qc6 zzTNIIxry@jQ=%7W9FV-lR2#&EG>?hQ7oU`X{-x>%W?^NYq*1hKE7t2df{1y}jfY~^ z$4MAx-&TKcljEFOzr7-4sCe0{u5{Nqj%K`F%lrTs-k+=tEy6lQ#`lL=yu}R_2q>J{ z`%>N10xHeHF(*7gs}j3w2o2J|r??td@%Yb8dnX1EmEomME~KqujzZ9=Gq=+SiDWEA zYyivPYnyO*L7Ea3%uqbwhLL0v)P!ItJSc!9wnaj4ExgimK^BkP3@#Ibl|%G2^qB- z8yS7#xU#=WzpFTP3z!&8G&Q-oo*YzT_;VZos(rjwSU+i3UvgZd-# z8q6J|$0l5=m-CFa#&Gs6B7vi9+ROZ#5~Bx`%L?DC?@ZuvPXsOUGl+gJiP}5P$#Q$c zFr)fMt}(SC7h%L5HN2qI>*u%jOe`Jvqwn|q{N7VE8elt3w^k$OoB;2y3Z8K7ln9vo z>`an<%I>V66kt65qPB_U1B<{)k2)7}enaz?LGDLM|3~}3t0H8H6<}Xi8JQB_q1VKY zGmrXR&yioGlD8Hdi_Gd?PQb=IjSyM_9FlISGFt^T9y=XAI6tK64>y}z<>V81)k>^9 zm#1l|wA*Z1rpoD&Mb{XMkf+Yb_2kZC6@sc6975Nt6 zMoEY^`(U--+OoqAVNT8wIRwF&Hj&< z0;k&Ll$l@pgJb#BUm`Ju7o~Y;4F)DdFzWVGRe9RNUov*aU$)lZW&BS9KJkl`i(+&F4Sa+%us)TJM3&HPZcwACfeTu@R-wPH$M327LN`oI0AVhZElO@b zCS6h#LYVPGZ;8}=ir(!wg&?r)5=*na47=LK9ky*$2lv$Gp^Ht(kPKGzNjKpFp%a^r zb%8Y=TD7wOYhc`Uxaq9X)$we z4wu;?OQ2Y~pSI{`Z(Q&FnogN-Yq<^|&?UnW6WPo6rY*Xe@mMKD77P;MI_|))^aqpF z2CQQVT|xUBEg_7fb^gQVbYPM*1}7h7o8c_}l1}{C)i5E)3+9mW3MYtHKb1xVY&<{Y z5qh`67w}2unJe4p3?5mgPaFca=EaN5r;sXSvacpm#3c$`a+yT=gEh-IOSH>18hwX|G_v=@Jo9 z3MK9Ds_x{3^%640=7!pH;UR(<&qyOT_zf2JmxF?@TJLBNFAlAhc83Sy zxIju-awV2mLl$~%d)ZI%PC0Yg=mkH0zGO@fXH!+KmCoDx&yngqGJ zjeud=>FyJ975${al4}lO0I%=_NpM#v1i;7BKuSlv=(-XyIiJo`X(-u7XEyjK?Y!<6f|9sM>Q-SbyMRsQf_9oy|=q4YxJvK)P*Jolv-Ue^ce$@)(JQIIsX~R$SJ0t)V2!%TMKb-_QU6;D4b(`z^y-?1 z{f)x&p4{ZK3bY`9lTeW`M?6IUU)UW$nBj_I1n0B`9T}Bj?ZoN$wcNOHf3M z#ZAhNmB|1!ReUd{pJqAD=naU=#E?{;5tLAV_qtK12}n+~G}>Oj)?{wswu~zVf6Ufa z0x>Jj8Y&YEuh3~$54J+3!tKtWJ-UC+S(%?Yji=@d(i_f^Z2KOTw>F@Oq=n_FE6uf6fzexqVJFClof74tRQw|JPEdX(~=$pXHV zI9R#x-0-RC8j^j4OkEY8-&C-XULxdg`|R<{wPqKX#?f|Ju&i%x=W0E#h(&~XLh zIi(P{S|7#bcG!iasfdjI5C*{smQihE*nyF&UdH!kK>XpRc;ahE)&3qm1^$Qb}o|ixbcr4zOyi=GX6ZPQo zI63T3L{s35YO}*pN-tU81-a`R7s4@ZXB={zD^R)+md1=EJkLw6M#gRZh$dvsj%`j{ z0K6JpUqB}swi;bS^V13akc*jv+Jv8^L`O#8@*Xp1Pl;#IdIPtZt%J7caf#}KRMLtO zrDTxc^_m}AMlb8k^!jL#8SZY|vQ(qlCv2^E$X`;N1P!hPZt%)sR_SFdMV66#Jr%_6 zzcB}ReldPny<6~PXYm*`>@r+EA90JE?Btnd020i#TWxSpAePFRyJ*)(fq&-tAVN4} zx+RHe^vdb}Djj_}|3?+C?5}(*w3njlUyfRfnDI=PeB^n$)IscCldVuaA}!BcsLTr+ z&5)37Kw^x&Dpfarxc)VMDYUCg_JXXtLQ`O5d~HG>>}_&I2)ZD8NMJh>v{(~e5xh&>SD$}WhZifigh8`TPb75ly9Suaw(QedRhp{!Dq;;@mgU)SYMTg0nj#JYCy; zG&|UC<(fGxZlvfAS38V?S(Y9DW_fv?m-*oO`Xo^G&o?E%P8!gg!q3)&FZxN~K>(!3xYG?*!Q^G4aKowX90Pvu0l zvUB`I0hS==pDL#{)XXmG-I(KbIGUPsOe*hE^G=e+@N7U==#K4u&Ph#WKaKvoS<)7( z2xqfx;qC10lj0D+D%*`4-(Vo=fO$TaBu9!8! zP~@D-&q-Up4jasKNLbnc3GZd`H>a$v%4PxXFZ#OG;S@KO zdVH5nLo9>(=-OaJ{934{>YlEbXZcT z`X8m#-LRO1M!#abt)S;gmY#f zhemw03PI;2GE1O^J!GV^4k*euwiFu!bqqb63=Wo(&7vdEWZ2SBdCnFQbahKt+R+ff zdw%X@u7l2C4KlB2*HlDAOo#TyVgVnmu2;KX4^A9T0)}T@y4;2?QwvF1g8fi+=Vw2n zYkuU=wIYM@*f@gJ+&DyG;-qHe^QzfCtOeefa}cC7{9|L3UT>Z8cbM$zpNvLrft@&w zv++-=cfWc_vX|1zv-rsgSXkc@yuAcvlTP;N(<|0W`9NGQXR7#xJbV;9* zZ>9*Cuhl0t&!ah{@wIv7h6N^|&L{UM^rYl!}7W1ogTax0c3 z+)6gW#WsehrhfgQ>X4z($?jUJAL|+D6P&o2M76`Sq3`lUYK~G_iC<;G&2hKDykZUi zW~TqZCE+{5Na10YP}o@hu6A0)&?>c1J3$dzRDJRcqgojf(=urHyY@oFN5j?D(TmiY z3!_}|QuPt?VwKL_t81GXYW_7olngt0ZK$ORVG>4?V6Y8Em5jrXyM%Lz@Ig{rVXj%6 zqkbh)ER{ptZ#9wRxxq}YR_FH%?+pFgPHTA(qn5TxZyDaE2lyC~|4ro$u*mw`A^9JG{fC+tuThb;zuEiSUfR!ok^8MHS1&$F z9OLQ#`)?E;PJiR_0O&V9EC0?gyRY!bUp=@eop)zw&3Un7W^>HcJ_x-l^PKk0`a@ds zW;eKlX^V?iBLas(wE!B)g@_9jv@l;-Ge@!SWO<XEO`EeX$9#V9OEBf?^Y9y1Pf`jX?!ZhXaThEq<`JMD_C1#Va4G0~KV}4=BuKzFOdTV+TW~l_#Q*UI{bFXv2R$!RlNM>cw$XW$YhgTb{WCLH9n@htbbR8# zN$yw{Z!^1eJ2Y;0xdocNbr!9G-=52*av)$Q*)CKf)Iutu;d!o>Pe`ZO&#$Ab&MPGi z_6P0aJ%r|Eep$pj+<7m#mtMT_{W3M1WRLIeyaOP-)hIP+@%5?D?(+VOSU=G~?=A?q zWiO@NRGf@o%|M0K14gVZR8Xg^MoNc9eX}LOpfBVQ&X85wpJ)R-)7fJa_y0VX-n8{uZT)4aK64_C z40pJf`3`NGIWaEiILE^x7N4MjoRc0se&)DPcY92gNhp1KbjlgbA-yi(I_HW*bVFDa zQq8UT7#*!8Q*DNV8>V28c5FF78ME5wv+vkpE~jR592xJK*phyoCbQIYURzR}o9ZaX|#@ zymWKrWvATJrR0iK8JdO#9qd4=sRuraIo3_LA(CFqMhbJYEw1+Z+`!s(KKv`4e#WNUQQl=?7hPB%UB=JkwqiFSYt~ps3kj zBoN>nDKq90#MUeGoPpoC!PpP!k2{h3apY8~ z>G5Jw$e@V#yJn+|%=_23gL!rZK4(00+3E`Y(Y7+%W+PqUaj-J$Q}BW}=p6OZ?_AR5 z`=>YJJ|^empEOu!n&S6hSg-3Zm_wgi&yA8YFBxR8MxTbWmA7bCInHiOQn@sN@6dzM zy{IW-dl1ht>qKy1LBEEl3-Kk8c2zlU{P5jlWCo*>ImCTGGw*{P6H)6d8f^1ti00$| zqK%)~3k4Ty15zU8*U?Q!5vTxbI1eeKtQ#}0L?s(xq8FC|a|SlFPwUF!6cpl6Wh(9g zzo~H>YdgqJw9~~o!8X;|P+fAq?WlO>?EN()6o5d&Am~=a%P_ptn#4X1g|H;l2Dw63 znqAsX2daQ)a=pv2yXME=roM9P*AeJO&EmTId z??Q=RR6e>4&+ZADHdLC2`INj8a4~0_m^~ZXcgV?TILgzKZBm#DtE&`jXaj~N^zaee zJrJ5;yIp@aX|I&zp&Y2I)5=J@xI|4g&6Iy2DrhKJJD4m>1 zPT7?6VPBlDMU!sTT$oU8z925^m)m1^9n(XPKCwr$AD&tf0VR1ua>X1rCX$U0t8knw z0Y8%S_C*H1=3U?1BXG^2bS9LF3CzE5!ug%DN%t(=w1nByj{&`K>;lNpN<9#`b% z4Z(eH7$jsadnz(>k(}91GFVC+^Va!(FS${)`CV7L(e{nC_-?_KJdIO~ZWnHlf&>f? zh+3Z6W98RreNWfDeQL3d&(^Q_U!2f{BFk}Bn6?*v|I;z+WO@4*&!C_CNGpxWIW{Wwe!5ak={-UHuV zXfWk$Igg@~Yi5CrHX_Xq(B;E0TQ;%Dm}>zft9+6PpAHKS)v5p-DI zQ(g*lzjj)EZy}_~^EW>Gjk2>C)y5#j6Fr7XLIRGU({}vfXz#ea#8{LIk{C2eSn(sR zV%lG%9W|N`Y4$=?zY4Evo+B`RniWGYsfDTa2Tcbb9t1p#N65s#)`d{81w0wkc7Jf94>7;U!(|M zuq?>M*kg_YJUQsgmex5usekGI2<1g2)^I}Z^<5HTP6M;|3<3){*uy=ID#cz8N( zbAD%bjvR?K4}25XweQHqKt0PZ@9&!9w_DTXw@Tj8;|Hp_s!r@zqqp?N4}?+=i+=1)ZyV(M|B=Iy|E|ZWrsE4;Oc`}=?yG&L zv$y)PBvWluiZ+(QekBPaXQkB(%}4oSM|m~;?KT;2>QE8mvdP!EiZ4#$AbDo?|oK@%5~upTDqk_ zi#W0*PIQeuDGl!0s4l4GDH%KAmYeGP$gd}5FAaEw>6Mb6@K> z8p@&q-C^W=4~NDwos)32b9E;8n#G!5y>HX^Zr=zgHT*dg>;h}f5T^KO%J9y0xxP%_ z2cgVTMk!bUPkc-Eozf^9Axx&vuv)F(P(FO?Es@&l01E_f`+^+`9ZrK)WXm8Ta?9UdgeZKN^6Sf9&ygJf1cW~qt95K{@_!&bVniE}Z2pbaYIOu3N$HZ4F;V(o+ zWAt*hBC@Ut@*B*(iF6AaOGh@CX?YO!as>>R-P$#K)hfN1o!Rz+xEDMBnAR0{{QSW1 zE`rQ9ARoKyiLua5m#9KrNNIPA%x@F%SxLf|)H@s*glUO;V4k?gnXeJb55wP_bc^bjm%mYiza0mn3D7CLcvLa8cFYHP zx}hJNX-#wrC{Ff{m{#8pGF0m6*7Za*gUx_So>TwV61HuH8=+H@ z%JRE7EjgWvtr!bDNzJ>2+`C3hSR41+NB%PjD22hjXvS&a--(1}1$1&Wo6AzJX6=w_ zYg=98-UkqWu)GrgV@%VomArD=Js=j}H91BLN}h+<=lp2n(kZ~#W=^itxya2v;HQ7t zI$WLs^m`3P$T_DITFr?s!#Gxs!czY%a?8UHpz6i^z$9A!Dyq_XUWOZ92zAih{wein zZYLls!shMKwq_;M8ELb z@B_7!!jR-XM@3Q(&;Z}v;&tuZmOQF0VDjKZMm*O4!}cEx#&-YIlf zD@Ei@GmvL{(>!72(Pv3R(VPu_y7s2|43ny5kiyHGI<;+eEhFSbb-7%(<|4W zHJp*V|AY@4Lj`*5_{@;pAlat`DSjEP@2O~fNr@PKKX3^ld%z|Td%_BYURM@b0=;>2 zU9`ZgANXygL;Jp->Z{QvR+j+leiWP9cizRO)MsK`-CU2HE1|-3AvG^-K_y`%<1!v@ z0~jOsoPHDLUAK+ds^-xUyIBFwv&>P8hFQ0A^{(8^=Xo78*@v-oUx=;#Wj;^UAlVx@}GODNSpBozAQqyT*1j4 zg#t~h6t4JMGuSBHr!ZDn9q@`u8?TI3noc;Qyrj&Ro}s!Cu`hw6Zhrun zl}MpHf>cJ_r(9NNzQ%JW(S#OME7lu?fX|uX(@9Mp|b64MnphSMV8D5dB@z?=08We$!#xU?HlvV#j34{SAI80l%hX97btd zY0^0+%Zf{r(@Ko=T05~0iT8<1^)}X_Y>nfT7_=m^KGs9X-jxD2MG?-C=4CL(U5JCY z(s_7f3oJA^hn2!Eycn?h?M9Z4vgYjjRS7($c~c%h=M&0!R~H^h-9Cf%A~z`QXh z-%-V9Hq&PY2c`;nOKo1t9fH@KM2vDIy?D6n)4vI?h2p&8p`wJ{VK;om`P(+6nt~+9 z@MoprNXJmP6c7GLq3~zysoDQIlwpriP8!9#rw@I2w@F`RvE@kvl0GSckJ#OBw`x^A z$SMo+XrgL#G(y1b2%r-9)B(6$TvpS;L98G2 zFiV9(kOuob;ht3<*;rR|$DVmG7Hx27H#XIioFB_)9qdS!cFy^(3$y zCSnWvGwX~?2i1>G%#=55zk1!n6|c^$eg5L`8r$g+wH(B%pdKWUkb%=d{<<|%NI@!0 zI@N3Z*8~N*Om$mF6b%cZ4$3z{N8o_9Xbh}8pLxe(-S62OL#f}VqWyRd7(0U}k^79l zT+wY)Z6>)}?K*cF0FK;K#1vH~2cbG9exe9H?9r6P4%Y{Q1H35oZ_(f9gq{ z@)Y%REq0|-EqQKF19rGMyuRZz>q1u$j0?saq@lsYKl?lJ|nZ$aZR$MN4s$pK&&yN}EuA)&)7gvSHb2nSy-D%Tf7Z)LWqlntd#bGqiJQ zPRQVWgMMt^^VI%-)kOQ(2$JX0#kw&^!8r^Ex|gi13Lt)lJ`Sk4Cf9{8H2~!?GUUE> zre(1tqZ;_k#-{3sjWf6%IkJhKIfqmYR=AyV&xt#)M*0rpanAeMSb$$Mdx-Dxb%ZjX z*Td2!8gQm9KTvLti}NXN3)Vz7=`mOK2a|S;v>oTdkZOdXCG4bE?idBruXzbD6xgxk zkA5i`ai=C1Zj~I$Pk=Dx*&rpHeR~!A?4BtZjpmCoj3*Qf#a|{WoIFG6C?>eV>yF;b zTUg`9(X3*+#!npdCx4tuxGngOqYqa2gEZwj`lXt0&$LW87d(F?;j;2ADyU~XGVf_2 z+RGNYf59McxHsXs;)%jIrx8P~UuCZb$v!Wr$${;&7E((+*DFAV`Kva)0N98B1W zj}fCsL|@RyQRcp8B3BWuS@1FRZLAW!TXADDQJ}8cqe}Nit2`k%=HiFP7_LDN09kAv zHRn&nmLvJ?;&-oj1(jDlb9uFYdoqYz*{|v@uGbXkS&nbq&|;$xonxoz4*hZ zKPNr34;%m7psm`0T)UUJ!fSf}G@CklfHwa2Y`Ya(r(IkKO8aY(4fiywJb4uZU0S9-2Yk`?PXrQkIVRnt#$jK#iGf zs8otoNv<;b1N+DL8>;-NwG1R<;gFt>9ea*1@g8p5Q7gtL?eZ+y81dZ`^Q{?g%;SbCeiJkDYx9 zRAp81DR+F`o>Z`{5ba^F1?SwWEQ9e;4xfxbol1Ol)WA@|TTRRY!yly$55&J!)IYkN zY(H$n5#|Vh4${iKiOOJF(Hh{wi_EsCLoxMjPIF39$G5vGjn6#A+hC(lJIq<1{K}K! zMjL&(8OC=iIT^D<#%RA{Spm?M6iv5Zr z2*USQs9%c{{eIN(Ec9cQoCpexu$8ur|Fv$gEZgF<|$vZf*pB9AA^24K#V#PbGu4Pz>{H}ZY^K-9%b|Y4w|F-e`Utd4s_^$lb z`!d=8JcWbr;$^a8vV`(~H}n3jH~x=?Tj5inb+dg~IezDFPVT3?NarSSU`Btve{e&( zAwzlfqI!beKaU-u1P)x*UBLItHrf9@>+PStz`#fR$Nx0RNbj<(rjmI%=gkPNQ~>}t zwwwP6_A0T7FLqs^ux`$jv{B}_EX{2y*PE!W3~Lt?H09YuSN<}r{wLHPwp|q7U1`AN zd}se}rp4#Mvd_&AF1Ck=E@Cyam~3Ld82Y$O4g^{*$sW=yko}G}@UP#v`s(UW?f|1; zlH5++`zzOzdG-u5;cnp?>C#ZtR(6V=Nr_Zb)yqTc6fxc6Ptx#)FvzG`)1vY@8hny| z9!GaeaHVySXUX4uB=DckTk_(-#Yf5r$pMl|?b7!&o%OLZ{QAO5GH0MOO5~%h3#P3v zq7wi3bn7wSFSnC_H-`JONYcW$50V^cyR9yd-ykWqTG7o3bFduAaPtVl^zHh@19a0} zzT~|;@v4vmZ5PqN4Iem<*TudhoGtVHh8R zAFSyjnT=ynFgJpG!*}|(QSeZbTsS*3Cd4@bi-a(r(%RDkWKa^G6g)zLI!K3OM*qqp zkj=o75>yzpFXfVj+le~8w3kbBMNwd&bz%M*V0@*4I3Vu{x$Z@kcKpU^4c^Fa6nDfAi#vLPD?JwI!8U- zSuLgNnQAh9C>sswVr^)!ySOApg;aS)WD&#bH9P-iZc zCNri$3-1Ks2~suQ97((9ReX%scNc}Kg<}V%gkZ&^rjZGRCX1|e^ro5?d%eK1;>x3d z%HV}bgIf7e$Z2;^kc>Cm%I_tx?xGhbF+#+rimMM7`eZA!I;0E9MOoYI)~IQ1F|5R6;3p3MVt|m)@kdZ zh4zgw*&y^`5Pkd&!?DaOs1u&0Jd>HX;>XK|bPGI_F$aN(&44cL|1PTk@xQV^Ze0Gv z+F4*EahZgV>b@xbeQxvlc2LIN5{sQazhNy84KiJLGEfF*^;nk`Tk8i`@I5+7H9g`v z(ddm{A-Zcxw`fp-zfH!T`|5UOyi}B9w}ap%VJ%)5mpS9CsdCfCjRs=6n;YaP;wP0~ zS6p8r)x)U3gmLQJA%udu3EFku*NmD6+LoeCrmn3^KfVugcm%wEkvzVzey-6}o(zzB zdh33+mo~=|pg*Q-Kk&se31MoI`BNHzIe?3`iR-%+yt*#iKavf~9vcU(uDBX>I&#Zp zB50Najr!4ug_^JtbZ-Ybte_<1VPGVc;O74bk-8;Xmi5R7;upS1)^;+x_hH!9%B8q0R%f4+!bneWu0gEE*v}$He_(q*h}| zrr`Ywq*SATS;t89yX#JJ(m72?@z$WyY?;Y*U)}Ee_d5Vx)h<9)eOz&dfe>VeFVS(? z`~=A05{5q8t2Jl6;qB)6VK*YpPhioEcY@}YUqaEPo` zqaBoU*#CZk8xEa?#(d^(#;@dXy281peM=NnTr^z&|;)@jOt{w{g!273b4-4*T?bVgE zU=^a_-?)ce(3Xcsqr3;jH*z9FV^ai<%mpp0-^p>=+zDR0;7{4N!`^vBaEB0n%7=~` zI#=o!yf$GV=9Y%~BDMMd7Uzh2Ofoo4R3^fU5o&HYYH|JPK=NumhU*3y2{O3yte=X2 zbJml?64}~{lc_NLRCZWff<7=gmosct5Z*$=CSiJ1Ow)*cB|xbI&4Aops|&(#W)LyA za8qf3&V$`)xjrpNNV|(KVy*aI4DIc5AJ)m^h<;1aEMyGe21VhKOse`z2=rgO_KkbM zUaC$tqt{qQk{cO1gx2jwJ)!g7=kl4A_J(H?lpb*8jB6MAm+DvN{7p+WN5{0 z;&OtOjhCv!E~pGC>l);cb>?m0yM#>QcNbiMzN*IQu9In(brbXv^)iotjd~Bjg8$xZ z3`#Xy7)|Q*T??>-WwsqE45>*sHl)u~ocb~enTI~MtLL3Um1pcWW_lwWI6Dt?JsG08R%yW82bl*7ObO}oN{i69^2gv()lhq0W zd)#v;Bbq-T^lrBq(_k+6Q+(X6-0JYU#bG4zec{Z{p3BW@eJ<_mzD7hBYclHvy(6dWjx`BRSm@ z6lqp3yGG!geiZrZdhlN~!uUp#-Uv>IiQD7Z!X!}v#K~JErGjIbGEmy{qlBMb=jDK5 zF@s_9gruUzAy5HmH2o{r*O#f=h1b#@ilOOIny_kPumu;rYU2j$kWSH@2;Cy{`lUOM zM3eICVcDUL;E;#4EdVVek4~9zdgS&z_0I0@#ek1JG(9F$qj3*WsMl!Rh@?S@fe*?O zvhRRip59(D_L3;4KDSDuBU$moXrK=dLT7j0^*z;B=#AyO+Z;G*l5wzYSUl2#+i%}4 zMX%YT)V;`NeGq^8+YYD9aE5F$a*?plm!v|e^@?BW#BN%j`}I(5a~B z`29*ac&((iaNbQ+z^VgsngBdl!n0$56PC;^A-9$9-a&o`G5^w! z>YGa$38tPkyB`Y6eYZu0MxATt-OG?@{`{H}i@!U5&E@PShopk+PnH8Te|l}&z1O*X zxp^K&-{q#WgCBy~h%OF*>Ic{Z?)FO?C||Dgm-}VS6awyz`~`7n|8masT=2$P<$=C!?C?jj^oZnUGO8 zQ$*vAFQRHrxw8N9@2g=Q{`W61*`35cOA-OjE7-a2G~nw8-2@jRV<}-NRy=GuFvE9l z&!9$61$nS9&nDr7hOqs)zDzDw4l8x4skcn2sa3A&a7|v$bZbDNvcEHlyDsjEv_(p; zKjsI(xvBd0ZiD-e?6;&k=h%IRsQHa<5N}45+7Ij7_4bVl&Zo+}h?lyD>!(pG-yo;@ zE?t-fymhBa6;9e4oC0GRW&P8M86HY(7)=9rw_Erb*Y6bBt^+5Uw&|_cjkZsby%61g zcDo-2xM^=h+OW7x0j72^nFMUW;U!F%qz3rI%2;gmArP`pGQ%FQTh~w>xUJNWYVxw@ zY_l@A45Rm8b^$-WKs&E@$>jV^;{Wz1hGlMTNGQ$V$rfj7;^Wuh8!y*Uvh?}l2Eon6 zEHy{Q8g6`CeNr6!Jx=5QY+uKD5inzB} zJArP?W3oveVG%JodrV%XU-Z@&gr7>gaG!|@`TNBZaM7mMzEO9>YLoupQvz7g(X5#| zqGNr(a^l7BAAi7X2~TOO4lysV`;V{kzh1t-_A}LaUO@Z%ee7R9vuy-GTvD=<-ZXy; zACW{PT?VkVH?03CEa(UB*wo=*p40z2rGEoE|Mf=U6X3wA)2099Gc3gf)Q9m}wC2Ax zKKWO*FMoskXQ<>W|Lt4^AgP|L`+3uYJ-1l@;mYv-EKIM7?feI5`JXS}$CCqK=lVy* zxxc&FKT*~0PN(*VQ>Fi>qfxHUiBx+`XugehhG55YoQGg3EQXN z$Ho3Guz)M0a|<{yx8wA07o-2a&>U1iB=p~jss1f=_FvcN|A*keYPkRX*Z)f)C|puF zSy$cQd4jcBCPydy2I>E=fN;M?m2}tOp*a`cgXN++s&pIsZc6fRgEE5NB799=>r{7y v^lzFTz(F&efu~=qS!C?+A3k?LMx-07lK3m#Z}&Y3@JB^S^GWq%tH}QY1hnZM literal 0 HcmV?d00001 From 8ffcf0b2afd6885e4b571eb1f5f1228a99a7e428 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Tue, 15 Oct 2024 16:30:07 -0700 Subject: [PATCH 05/13] Minor nit --- website/docs/docs/deploy/model-notifications.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index d0a0eaf3d2d..24a9b34a963 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -12,6 +12,12 @@ Set up dbt to notify the appropriate model owners through email about issues as With model-level notifications, model owners can be the first ones to know about issues before anyone else (like the stakeholders). +:::info Beta feature + +This feature is currently available in [beta](/docs/dbt-versions/product-lifecycles#dbt-cloud) to a limited group of users and is gradually being rolled out. If you're in the beta, please contact the Support team at support@getdbt.com for assistance or questions. + +::: + To be timely and keep the number of notifications to a reasonable amount when multiple models fail, dbt observes the following guidelines when notifying the owners: - Send a notification to each unique owner/email during a job run about any models (with status of failure/success) or tests (with status of warning/failure/success). Each owner receives only one notification, the initial one. @@ -20,12 +26,6 @@ To be timely and keep the number of notifications to a reasonable amount when mu Create configuration YAML files in your project for dbt to send notifications about the status of your models and tests. -:::info Beta feature - -This feature is currently available in [beta](/docs/dbt-versions/product-lifecycles#dbt-cloud) to a limited group of users and is gradually being rolled out. If you're in the beta, please contact the Support team at support@getdbt.com for assistance or questions. - -::: - ## Prerequisites - Your dbt Cloud administrator has [enabled the appropriate account setting](#enable-access-to-model-notifications) for you. - Your environment(s) must be on ["Versionless"](/docs/dbt-versions/versionless-cloud). From 0c3c83fae4979ece30f22e42572f5b708e25d979 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Tue, 15 Oct 2024 16:31:51 -0700 Subject: [PATCH 06/13] Update website/docs/docs/deploy/model-notifications.md --- website/docs/docs/deploy/model-notifications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 24a9b34a963..20ea1c80d13 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -1,6 +1,6 @@ --- title: "Model notifications" -description: "Receive email notifications in real time about any issues with your models. " +description: "While a job is running, receive email notifications in real time about any issues with your models. " --- # Model notifications From 12f0e2c7879e446bea3646b95d60ed8166b22664 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 16 Oct 2024 11:45:37 -0700 Subject: [PATCH 07/13] Fold in feedback. Change IA of last section --- website/docs/docs/deploy/model-notifications.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 20ea1c80d13..6f4af0dcff8 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -1,6 +1,6 @@ --- title: "Model notifications" -description: "While a job is running, receive email notifications in real time about any issues with your models. " +description: "While a job is running, receive email notifications in real time about any issues with your models and tests. " --- # Model notifications @@ -18,7 +18,7 @@ This feature is currently available in [beta](/docs/dbt-versions/product-lifecyc ::: -To be timely and keep the number of notifications to a reasonable amount when multiple models fail, dbt observes the following guidelines when notifying the owners: +To be timely and keep the number of notifications to a reasonable amount when multiple models or tests trigger them, dbt observes the following guidelines when notifying the owners: - Send a notification to each unique owner/email during a job run about any models (with status of failure/success) or tests (with status of warning/failure/success). Each owner receives only one notification, the initial one. - Don't send any notifications about subsequent models or tests while a dbt job is still running. @@ -40,7 +40,7 @@ groups: - name: finance description: "Models related to the finance department" owner: - # 'name' or 'email' is required + # 'name' or 'email' is required name: "Finance Team" email: finance@dbtlabs.com slack: finance-data @@ -73,9 +73,8 @@ models: ## Enable access to model notifications -As a dbt Cloud administrator, perform these steps to enable the model-level notifications feature for account members: +Provide dbt Cloud account members the ability to configure and receive alerts about issues with models or tests that are encountered during job runs. -1. Navigate to **Notification settings** from your profile name in the sidebar (lower left-hand side). -1. From **Email notications**, enable the setting **Enable group/owner notifications on models** under the **Model notifications** section. Then, specify which statuses to receive notifications about (Success, Warning, and Fails). +To use model-level notifications, your dbt Cloud account must have access to the feature. Ask your dbt Cloud administrator to enable the setting **Enable group/owner notifications on models** under the **Model notifications** section, which is available from the notification settings (under the account's profile name in the sidebar on the lower left-hand side). Then, specify which statuses to receive notifications about (Success, Warning, and Fails). \ No newline at end of file From 1a2aa196799aa10a553d5724863053c5bc089b43 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 16 Oct 2024 11:56:22 -0700 Subject: [PATCH 08/13] Fold in feedback --- website/docs/docs/deploy/model-notifications.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 6f4af0dcff8..14a900d7a00 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -75,6 +75,9 @@ models: Provide dbt Cloud account members the ability to configure and receive alerts about issues with models or tests that are encountered during job runs. -To use model-level notifications, your dbt Cloud account must have access to the feature. Ask your dbt Cloud administrator to enable the setting **Enable group/owner notifications on models** under the **Model notifications** section, which is available from the notification settings (under the account's profile name in the sidebar on the lower left-hand side). Then, specify which statuses to receive notifications about (Success, Warning, and Fails). +To use model-level notifications, your dbt Cloud account must have access to the feature. Ask your dbt Cloud administrator to enable this feature for account memebers by following these steps: - \ No newline at end of file +1. Navigate to **Notification settings** from your profile name in the sidebar (lower left-hand side). +1. From **Email notications**, enable the setting **Enable group/owner notifications on models** under the **Model notifications** section. Then, specify which statuses to receive notifications about (Success, Warning, and Fails). + + From dcca0d1a1527a2fca9c63333ea0fbe2e9491f47c Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 16 Oct 2024 12:16:06 -0700 Subject: [PATCH 09/13] Minor update to be explicit --- website/docs/docs/deploy/model-notifications.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 14a900d7a00..28cc43201bf 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -33,6 +33,8 @@ Create configuration YAML files in your project for dbt to send notifications ab ## Configure groups +Add your group configuration in either the `dbt_project.yml` or `groups.yml` file. For example: + ```yml version: 2 @@ -55,6 +57,8 @@ groups: ## Set up models +Set up your model configuration in either the `dbt_project.yml` or `groups.yml` file. For example: + ```yml version: 2 @@ -62,12 +66,12 @@ models: - name: sales description: "Sales data model" config: - group: finance + group: finance - name: campaigns description: "Campaigns data model" config: - group: marketing + group: marketing ``` From fb4520b11c9299443d13418044f9b24073bdab23 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Wed, 16 Oct 2024 13:30:17 -0700 Subject: [PATCH 10/13] Add cards to landing pages --- website/docs/docs/deploy/deployment-overview.md | 6 ++++++ website/docs/docs/deploy/monitor-jobs.md | 1 + 2 files changed, 7 insertions(+) diff --git a/website/docs/docs/deploy/deployment-overview.md b/website/docs/docs/deploy/deployment-overview.md index 11575e6b0b7..9382634812f 100644 --- a/website/docs/docs/deploy/deployment-overview.md +++ b/website/docs/docs/deploy/deployment-overview.md @@ -79,6 +79,12 @@ Learn how to use dbt Cloud's features to help your team ship timely and quality link="/docs/deploy/job-notifications" icon="dbt-bit"/> + + — Receive email notifications about any issues encountered by your models and tests as soon as they occur while running a job. - [Webhooks](/docs/deploy/webhooks) — Use webhooks to send events about your dbt jobs' statuses to other systems. - [Leverage artifacts](/docs/deploy/artifacts) — dbt Cloud generates and saves artifacts for your project, which it uses to power features like creating docs for your project and reporting freshness of your sources. - [Source freshness](/docs/deploy/source-freshness) — Monitor data governance by enabling snapshots to capture the freshness of your data sources. From a214bdfd0ababc88408e71ca8015fdb1d34f543f Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Thu, 17 Oct 2024 08:26:37 -0700 Subject: [PATCH 11/13] Update website/docs/docs/deploy/model-notifications.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/docs/deploy/model-notifications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 28cc43201bf..71c1d238808 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -82,6 +82,6 @@ Provide dbt Cloud account members the ability to configure and receive alerts ab To use model-level notifications, your dbt Cloud account must have access to the feature. Ask your dbt Cloud administrator to enable this feature for account memebers by following these steps: 1. Navigate to **Notification settings** from your profile name in the sidebar (lower left-hand side). -1. From **Email notications**, enable the setting **Enable group/owner notifications on models** under the **Model notifications** section. Then, specify which statuses to receive notifications about (Success, Warning, and Fails). +1. From **Email notications**, enable the setting **Enable group/owner notifications on models** under the **Model notifications** section. Then, specify which statuses to receive notifications about (Success, Warning, and/or Fails). From 938ac9aa86d488970cb22f4fedeae30efcfdcffc Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Thu, 17 Oct 2024 08:26:51 -0700 Subject: [PATCH 12/13] Update website/docs/docs/deploy/model-notifications.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/docs/deploy/model-notifications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 71c1d238808..788846dd675 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -79,7 +79,7 @@ models: Provide dbt Cloud account members the ability to configure and receive alerts about issues with models or tests that are encountered during job runs. -To use model-level notifications, your dbt Cloud account must have access to the feature. Ask your dbt Cloud administrator to enable this feature for account memebers by following these steps: +To use model-level notifications, your dbt Cloud account must have access to the feature. Ask your dbt Cloud administrator to enable this feature for account members by following these steps: 1. Navigate to **Notification settings** from your profile name in the sidebar (lower left-hand side). 1. From **Email notications**, enable the setting **Enable group/owner notifications on models** under the **Model notifications** section. Then, specify which statuses to receive notifications about (Success, Warning, and/or Fails). From e5e7b69e41beaaea027d2e124033a59763e9f597 Mon Sep 17 00:00:00 2001 From: Ly Nguyen Date: Thu, 17 Oct 2024 11:33:24 -0700 Subject: [PATCH 13/13] Fold in feedback --- website/docs/docs/deploy/model-notifications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/model-notifications.md b/website/docs/docs/deploy/model-notifications.md index 788846dd675..a6d4c467f0b 100644 --- a/website/docs/docs/deploy/model-notifications.md +++ b/website/docs/docs/deploy/model-notifications.md @@ -57,7 +57,7 @@ groups: ## Set up models -Set up your model configuration in either the `dbt_project.yml` or `groups.yml` file. For example: +Set up your model configuration in either the `dbt_project.yml` or `groups.yml` file; doing this automatically sets up notifications for tests, too. For example: ```yml version: 2