From e5689d032b74041a91d3701e37bfaee6b01918eb Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 20 Dec 2024 18:14:21 +0000 Subject: [PATCH 1/3] clarify ado behavior this pr clarifies that for ado, private packages have to be configured using the `org/repo` path. more details in internal slack: https://dbt-labs.slack.com/archives/C07C793M6EB/p1734715084356599?thread_ts=1734359013.848149&cid=C07C793M6EB --- website/docs/docs/build/packages.md | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/website/docs/docs/build/packages.md b/website/docs/docs/build/packages.md index 82ba2c3d74..36f754daa1 100644 --- a/website/docs/docs/build/packages.md +++ b/website/docs/docs/build/packages.md @@ -173,19 +173,36 @@ To use native private packages, you must have one of the following Git providers #### Configuration -Use the `private` key in your `packages.yml` or `dependencies.yml` to clone package repos using your existing dbt Cloud Git integration without having to provision an access token or create a dbt Cloud environment variable: +Use the `private` key in your `packages.yml` or `dependencies.yml` to clone package repos using your existing dbt Cloud Git integration without having to provision an access token or create a dbt Cloud environment variable. + +The private key supports a two path layer: `org/repo` and dbt inherites the project path from your source repository. ```yaml packages: - - private: dbt-labs/awesome_repo + - private: dbt-labs/awesome_repo # your-org/your-repo path - package: normal packages - - [...] + [...] ``` +:::tip +Normally ADO repos use the `org_name/project_name/repo_name` path. However, you can only use the `org/repo` path to configrue private packages. If the package repository in ADO is within the same project as your source repository, then specify `org/repo` in the `private` key. If the package repository _isn't_ within the same project as your source repository, then the private packages feature won't currently work: + + + +```yaml +packages: + - private: my-org/my-repo # Works if your source repo and package repo are in the same project +``` +::: + +For Azure DevOps repositories, you can only specify the `org/repo` path. The project tier is inherited from the source repository currently integrated with dbt Cloud. + +- If the package repository is within the same project as your source repository, you’re in the clear. Simply specify org/repo in the private block. +- If the package repository is not within the same project as your source repository, this feature will not work for you until a future update. +- This currently only works within a single Azure DevOps project. If your repositories are in different projects within the same organization, you can't reference them in the `private` key at this time. You can pin private packages similar to regular dbt packages: From f741d875dd49270fa2a7c23ebed5e3bc40e8d5b7 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 20 Dec 2024 18:15:04 +0000 Subject: [PATCH 2/3] Update website/docs/docs/build/packages.md --- website/docs/docs/build/packages.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/packages.md b/website/docs/docs/build/packages.md index 36f754daa1..be35ee57bf 100644 --- a/website/docs/docs/build/packages.md +++ b/website/docs/docs/build/packages.md @@ -175,7 +175,7 @@ To use native private packages, you must have one of the following Git providers Use the `private` key in your `packages.yml` or `dependencies.yml` to clone package repos using your existing dbt Cloud Git integration without having to provision an access token or create a dbt Cloud environment variable. -The private key supports a two path layer: `org/repo` and dbt inherites the project path from your source repository. +The private key supports a two-layered-path: `org/repo`. dbt inherits the project path from your source repository. From b5ac1233b0e49ffa81a7e1e9ed17715d1aa7a18d Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 20 Dec 2024 19:03:13 +0000 Subject: [PATCH 3/3] Update packages.md --- website/docs/docs/build/packages.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/build/packages.md b/website/docs/docs/build/packages.md index be35ee57bf..7803e6851e 100644 --- a/website/docs/docs/build/packages.md +++ b/website/docs/docs/build/packages.md @@ -185,15 +185,16 @@ packages: - package: normal packages [...] ``` + -:::tip -Normally ADO repos use the `org_name/project_name/repo_name` path. However, you can only use the `org/repo` path to configrue private packages. If the package repository in ADO is within the same project as your source repository, then specify `org/repo` in the `private` key. If the package repository _isn't_ within the same project as your source repository, then the private packages feature won't currently work: +:::tip Azure DevOps repositories +Normally ADO repos use the `org_name/project_name/repo_name` path. However, private package supports only the `org/repo` path. If the ADO package repository is within the same project as your source repository, you can specify `org/repo` in the `private` key. If the package repository _isn't_ within the same project as your source repository, then the private packages feature won't currently work: ```yaml packages: - - private: my-org/my-repo # Works if your source repo and package repo are in the same project + - private: my-org/my-repo # Works if your ADO source repo and package repo are in the same project ``` :::