<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Only absolute paths are currently supported. Paths must begin with '/' in Administration &amp; Architecture</title>
    <link>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/140774#M4576</link>
    <description>&lt;DIV class="paragraph"&gt;You’re hitting a Jobs validation rule that depends on where the notebook is sourced from. With Git-sourced jobs, notebook paths must be relative; with workspace-sourced jobs, paths must be absolute and start with “/”.&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;If a task’s &lt;STRONG&gt;source&lt;/STRONG&gt; is treated as &lt;STRONG&gt;WORKSPACE&lt;/STRONG&gt; (explicitly or by default), the task’s &lt;STRONG&gt;notebook_path&lt;/STRONG&gt; must be an absolute workspace path (for example, “/Users/…”, “/Repos/…”, “/Workspace/…”). A relative path will trigger “Only absolute paths are currently supported. Paths must begin with ‘/’.”&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;For tasks that use &lt;STRONG&gt;GIT&lt;/STRONG&gt; as the source, the task’s &lt;STRONG&gt;notebook_path&lt;/STRONG&gt; must be a path &lt;STRONG&gt;relative&lt;/STRONG&gt; to the repo root, and absolute paths are rejected. If the job or task isn’t correctly marked as GIT-sourced, the API will think it’s workspace-sourced and enforce absolute paths.&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;A common pitfall is placing &lt;STRONG&gt;git_source&lt;/STRONG&gt; on the task instead of the job. Jobs expect git_source at the job level; once set, tasks can either omit source (it defaults to GIT when job.git_source is present) or explicitly set source="GIT". Putting git_source on a task leads to exactly the error you saw; moving git_source to the job fixes it.&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="paragraph"&gt;Ensure the job-level git_source is set and each notebook task uses a relative notebook_path with source="GIT" (or omit source to default to GIT when git_source is present):&lt;/DIV&gt;
&lt;PRE&gt;&lt;CODE class="markdown-code-python"&gt;from databricks.sdk import WorkspaceClient
from databricks.sdk.service.jobs import Task, NotebookTask, Source, GitSource

w = WorkspaceClient()

j = w.jobs.create(
    name="Migrated job",
    git_source=GitSource(
        git_url="https://github.com/&amp;lt;org&amp;gt;/&amp;lt;repo&amp;gt;.git",
        git_provider="gitHub",      # or "azureDevOpsServices", "bitbucketCloud", ...
        git_branch="main"           # or set git_commit
    ),
    tasks=[
        Task(
            task_key="my_task",
            # Path is relative to the repo root:
            notebook_task=NotebookTask(
                notebook_path="path/to/notebook.py",
                source=Source.GIT        # or omit source to default to GIT when job.git_source is set
            ),
            # ... compute settings ...
        ),
        # more tasks...
    ]
)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="paragraph"&gt;If task source is &lt;STRONG&gt;WORKSPACE&lt;/STRONG&gt;, notebook_path must be absolute and start with “/”. If task source is &lt;STRONG&gt;GIT&lt;/STRONG&gt;, notebook_path must be &lt;STRONG&gt;relative&lt;/STRONG&gt; to the repo root, and the job must have &lt;STRONG&gt;git_source&lt;/STRONG&gt; defined at the job level.&lt;BR /&gt;Leaving task.source empty will make the task use &lt;STRONG&gt;GIT&lt;/STRONG&gt; when job.git_source is defined; otherwise it uses &lt;STRONG&gt;WORKSPACE&lt;/STRONG&gt;.&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;If you’re cloning into the workspace (Repos), if you want to run a notebook checked out into workspace Repos (not directly from a remote Git reference), set source="WORKSPACE" and use an absolute path like “/Repos/&amp;lt;owner&amp;gt;/&amp;lt;repo&amp;gt;/&amp;lt;subpath&amp;gt;”. Relative paths won’t work in this mode.&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;Migrating with client.jobs.get() → client.jobs.create() When you copy settings across workspaces: * Normalize tasks to either WORKSPACE+absolute paths, or GIT+relative paths with job.git_source set. Don’t mix them unintentionally; otherwise, you’ll hit the absolute/relative path errors. If the source workspace had git_source configured, ensure you carry it over at the job level in the target workspace; don’t attach git_source to individual tasks.&lt;/DIV&gt;</description>
    <pubDate>Mon, 01 Dec 2025 18:59:42 GMT</pubDate>
    <dc:creator>iyashk-DB</dc:creator>
    <dc:date>2025-12-01T18:59:42Z</dc:date>
    <item>
      <title>Only absolute paths are currently supported. Paths must begin with '/'</title>
      <link>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/112586#M3124</link>
      <description>&lt;P&gt;I am facing the above issue when using the Python Databricks SDK. I retreive the job-definition by "&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;client.jobs.&lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;&lt;SPAN&gt;()" and then try to create it on another workspace with&lt;/SPAN&gt;&lt;DIV&gt;&lt;SPAN&gt;"client.jobs.&lt;/SPAN&gt;&lt;SPAN&gt;create&lt;/SPAN&gt;&lt;SPAN&gt;()"&lt;BR /&gt;&lt;BR /&gt;Therefore the job-definition is correct and working fine on the source workspace. Also relative paths are mandatory, as I am using a Git Reference to target the Notebook&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 14 Mar 2025 13:34:39 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/112586#M3124</guid>
      <dc:creator>AxelM</dc:creator>
      <dc:date>2025-03-14T13:34:39Z</dc:date>
    </item>
    <item>
      <title>Re: Only absolute paths are currently supported. Paths must begin with '/'</title>
      <link>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/137556#M4365</link>
      <description>&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;The error "Only absolute paths are currently supported. Paths must begin with '/'" in the context of the Databricks Python SDK means that when creating a job, the notebook path you provide must be an absolute workspace path (like /Users/username/notebook) rather than a relative path or a Git reference.​&lt;/P&gt;
&lt;H2 class="mb-2 mt-4 font-display font-semimedium text-base first:mt-0"&gt;Explanation of the Issue&lt;/H2&gt;
&lt;UL class="marker:text-quiet list-disc"&gt;
&lt;LI class="py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;amp;&amp;gt;p]:pt-0 [&amp;amp;&amp;gt;p]:mb-2 [&amp;amp;&amp;gt;p]:my-0"&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;The Databricks Jobs API (used via client.jobs.create()) expects the notebook path in the job definition to be an absolute path in the Databricks workspace filesystem, not a Git URL or a relative path.​&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;amp;&amp;gt;p]:pt-0 [&amp;amp;&amp;gt;p]:mb-2 [&amp;amp;&amp;gt;p]:my-0"&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;Even if you're working with Git-linked notebooks, when defining a job, the "notebook_path" field must always use an absolute path that exists in the workspace (e.g., /Repos/username/repo-name/path/to/notebook).​&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 class="mb-2 mt-4 font-display font-semimedium text-base first:mt-0"&gt;How to Fix&lt;/H2&gt;
&lt;UL class="marker:text-quiet list-disc"&gt;
&lt;LI class="py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;amp;&amp;gt;p]:pt-0 [&amp;amp;&amp;gt;p]:mb-2 [&amp;amp;&amp;gt;p]:my-0"&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;Make sure that when you migrate a job between workspaces, the notebook referenced in the job is present in the destination workspace, and specify its absolute path in the job definition.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;amp;&amp;gt;p]:pt-0 [&amp;amp;&amp;gt;p]:mb-2 [&amp;amp;&amp;gt;p]:my-0"&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;If you're using Git integration, use the absolute workspace path of the notebook synced from Git, not the Git reference or a relative path.​&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;amp;&amp;gt;p]:pt-0 [&amp;amp;&amp;gt;p]:mb-2 [&amp;amp;&amp;gt;p]:my-0"&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;Example:&lt;/P&gt;
&lt;DIV class="w-full md:max-w-[90vw]"&gt;
&lt;DIV class="codeWrapper text-light selection:text-super selection:bg-super/10 my-md relative flex flex-col rounded font-mono text-sm font-normal bg-subtler"&gt;
&lt;DIV class="translate-y-xs -translate-x-xs bottom-xl mb-xl flex h-0 items-start justify-end md:sticky md:top-[100px]"&gt;
&lt;DIV class="overflow-hidden rounded-full border-subtlest ring-subtlest divide-subtlest bg-base"&gt;
&lt;DIV class="border-subtlest ring-subtlest divide-subtlest bg-subtler"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="-mt-xl"&gt;
&lt;DIV&gt;
&lt;DIV class="text-quiet bg-subtle py-xs px-sm inline-block rounded-br rounded-tl-[3px] font-thin" data-testid="code-language-indicator"&gt;python&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&lt;CODE&gt;job_settings &lt;SPAN class="token token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token token punctuation"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="token token"&gt;"notebook_task"&lt;/SPAN&gt;&lt;SPAN class="token token punctuation"&gt;:&lt;/SPAN&gt; &lt;SPAN class="token token punctuation"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="token token"&gt;"notebook_path"&lt;/SPAN&gt;&lt;SPAN class="token token punctuation"&gt;:&lt;/SPAN&gt; &lt;SPAN class="token token"&gt;"/Repos/username/repo-name/path/to/notebook"&lt;/SPAN&gt;
    &lt;SPAN class="token token punctuation"&gt;}&lt;/SPAN&gt;&lt;SPAN class="token token punctuation"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="token token"&gt;# other job settings...&lt;/SPAN&gt;
&lt;SPAN class="token token punctuation"&gt;}&lt;/SPAN&gt;
client&lt;SPAN class="token token punctuation"&gt;.&lt;/SPAN&gt;jobs&lt;SPAN class="token token punctuation"&gt;.&lt;/SPAN&gt;create&lt;SPAN class="token token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token token operator"&gt;**&lt;/SPAN&gt;job_settings&lt;SPAN class="token token punctuation"&gt;)&lt;/SPAN&gt;
&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 class="mb-2 mt-4 font-display font-semimedium text-base first:mt-0"&gt;Note on CI/CD and Git References&lt;/H2&gt;
&lt;UL class="marker:text-quiet list-disc"&gt;
&lt;LI class="py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;amp;&amp;gt;p]:pt-0 [&amp;amp;&amp;gt;p]:mb-2 [&amp;amp;&amp;gt;p]:my-0"&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;If your workflow requires Git-based deployment (to keep test and production in sync), you must automate a step that pulls or syncs the notebooks from Git into the workspace and then reference those absolute paths in the job configuration.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="py-0 my-0 prose-p:pt-0 prose-p:mb-2 prose-p:my-0 [&amp;amp;&amp;gt;p]:pt-0 [&amp;amp;&amp;gt;p]:mb-2 [&amp;amp;&amp;gt;p]:my-0"&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;At this time, the Databricks Jobs API does not support specifying jobs directly referencing a Git branch/tag/commit for the task—jobs work off workspace objects, not directly from Git links.​&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 class="mb-2 mt-4 font-display font-semimedium text-base first:mt-0"&gt;Summary Table&lt;/H2&gt;
&lt;DIV class="group relative"&gt;
&lt;DIV class="w-full overflow-x-auto md:max-w-[90vw] border-subtlest ring-subtlest divide-subtlest bg-transparent"&gt;
&lt;TABLE class="border-subtler my-[1em] w-full table-auto border-separate border-spacing-0 border-l border-t"&gt;
&lt;THEAD class="bg-subtler"&gt;
&lt;TR&gt;
&lt;TH class="border-subtler p-sm break-normal border-b border-r text-left align-top"&gt;Solution Step&lt;/TH&gt;
&lt;TH class="border-subtler p-sm break-normal border-b border-r text-left align-top"&gt;Details&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="px-sm border-subtler min-w-[48px] break-normal border-b border-r"&gt;Use absolute notebook paths&lt;/TD&gt;
&lt;TD class="px-sm border-subtler min-w-[48px] break-normal border-b border-r"&gt;Path must begin with '/', referencing the workspace location of the notebook&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="px-sm border-subtler min-w-[48px] break-normal border-b border-r"&gt;Sync notebooks from Git before deploy&lt;/TD&gt;
&lt;TD class="px-sm border-subtler min-w-[48px] break-normal border-b border-r"&gt;Ensure the needed notebook exists in the destination workspace&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="px-sm border-subtler min-w-[48px] break-normal border-b border-r"&gt;No direct Git refs in job creation&lt;/TD&gt;
&lt;TD class="px-sm border-subtler min-w-[48px] break-normal border-b border-r"&gt;The Jobs API does not accept Git refs/tags—only absolute workspace paths allowed&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;DIV class="bg-base border-subtler shadow-subtle pointer-coarse:opacity-100 right-xs absolute bottom-0 flex rounded-lg border opacity-0 transition-opacity group-hover:opacity-100 [&amp;amp;&amp;gt;*:not(:first-child)]:border-subtle [&amp;amp;&amp;gt;*:not(:first-child)]:border-l"&gt;
&lt;DIV class="flex"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="flex"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P class="my-2 [&amp;amp;+p]:mt-4 [&amp;amp;_strong:has(+br)]:inline-block [&amp;amp;_strong:has(+br)]:pb-2"&gt;Following these steps should resolve the "Only absolute paths are currently supported" error when using the Databricks Python SDK to migrate or create jobs with notebooks.​&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2025 12:42:32 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/137556#M4365</guid>
      <dc:creator>mark_ott</dc:creator>
      <dc:date>2025-11-04T12:42:32Z</dc:date>
    </item>
    <item>
      <title>Re: Only absolute paths are currently supported. Paths must begin with '/'</title>
      <link>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/140755#M4573</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/124031"&gt;@AxelM&lt;/a&gt;&amp;nbsp;I see this was a while ago, what was your solution? In my experience, either the `source` field under notebook task is incorrectly set to "WORKSPACE" instead of "GIT", or there's a legitimate issue, such as:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;a typo/mismatch between the specified path and the actual path&lt;/LI&gt;&lt;LI&gt;a tag, branch, etc. which the job was originally deployed to target has been changed or deleted&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/84605"&gt;@ROTT&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;nbsp;&lt;SPAN&gt;The Jobs API does not accept Git refs/tags—only absolute workspace paths allowed&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;This is not accurate.&lt;/P&gt;&lt;P&gt;From the docs, we see the jobs create API takes a git source option:&amp;nbsp;&lt;A href="https://docs.databricks.com/api/workspace/jobs/create#git_source" target="_blank"&gt;https://docs.databricks.com/api/workspace/jobs/create#git_source&lt;/A&gt;&lt;/P&gt;&lt;P&gt;When that is specified, then other tasks, such as notebook task, require a relative reference, as OP correctly pointed out.&lt;/P&gt;&lt;P&gt;The notebook task parameter specifies that you must use relative paths if using git-source:&amp;nbsp;&lt;A href="https://docs.databricks.com/api/workspace/jobs/create#tasks-notebook_task-notebook_path" target="_blank"&gt;https://docs.databricks.com/api/workspace/jobs/create#tasks-notebook_task-notebook_path&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2025 15:30:54 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/140755#M4573</guid>
      <dc:creator>kylebennison</dc:creator>
      <dc:date>2025-12-01T15:30:54Z</dc:date>
    </item>
    <item>
      <title>Re: Only absolute paths are currently supported. Paths must begin with '/'</title>
      <link>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/140774#M4576</link>
      <description>&lt;DIV class="paragraph"&gt;You’re hitting a Jobs validation rule that depends on where the notebook is sourced from. With Git-sourced jobs, notebook paths must be relative; with workspace-sourced jobs, paths must be absolute and start with “/”.&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;If a task’s &lt;STRONG&gt;source&lt;/STRONG&gt; is treated as &lt;STRONG&gt;WORKSPACE&lt;/STRONG&gt; (explicitly or by default), the task’s &lt;STRONG&gt;notebook_path&lt;/STRONG&gt; must be an absolute workspace path (for example, “/Users/…”, “/Repos/…”, “/Workspace/…”). A relative path will trigger “Only absolute paths are currently supported. Paths must begin with ‘/’.”&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;For tasks that use &lt;STRONG&gt;GIT&lt;/STRONG&gt; as the source, the task’s &lt;STRONG&gt;notebook_path&lt;/STRONG&gt; must be a path &lt;STRONG&gt;relative&lt;/STRONG&gt; to the repo root, and absolute paths are rejected. If the job or task isn’t correctly marked as GIT-sourced, the API will think it’s workspace-sourced and enforce absolute paths.&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;A common pitfall is placing &lt;STRONG&gt;git_source&lt;/STRONG&gt; on the task instead of the job. Jobs expect git_source at the job level; once set, tasks can either omit source (it defaults to GIT when job.git_source is present) or explicitly set source="GIT". Putting git_source on a task leads to exactly the error you saw; moving git_source to the job fixes it.&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="paragraph"&gt;Ensure the job-level git_source is set and each notebook task uses a relative notebook_path with source="GIT" (or omit source to default to GIT when git_source is present):&lt;/DIV&gt;
&lt;PRE&gt;&lt;CODE class="markdown-code-python"&gt;from databricks.sdk import WorkspaceClient
from databricks.sdk.service.jobs import Task, NotebookTask, Source, GitSource

w = WorkspaceClient()

j = w.jobs.create(
    name="Migrated job",
    git_source=GitSource(
        git_url="https://github.com/&amp;lt;org&amp;gt;/&amp;lt;repo&amp;gt;.git",
        git_provider="gitHub",      # or "azureDevOpsServices", "bitbucketCloud", ...
        git_branch="main"           # or set git_commit
    ),
    tasks=[
        Task(
            task_key="my_task",
            # Path is relative to the repo root:
            notebook_task=NotebookTask(
                notebook_path="path/to/notebook.py",
                source=Source.GIT        # or omit source to default to GIT when job.git_source is set
            ),
            # ... compute settings ...
        ),
        # more tasks...
    ]
)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="paragraph"&gt;If task source is &lt;STRONG&gt;WORKSPACE&lt;/STRONG&gt;, notebook_path must be absolute and start with “/”. If task source is &lt;STRONG&gt;GIT&lt;/STRONG&gt;, notebook_path must be &lt;STRONG&gt;relative&lt;/STRONG&gt; to the repo root, and the job must have &lt;STRONG&gt;git_source&lt;/STRONG&gt; defined at the job level.&lt;BR /&gt;Leaving task.source empty will make the task use &lt;STRONG&gt;GIT&lt;/STRONG&gt; when job.git_source is defined; otherwise it uses &lt;STRONG&gt;WORKSPACE&lt;/STRONG&gt;.&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;If you’re cloning into the workspace (Repos), if you want to run a notebook checked out into workspace Repos (not directly from a remote Git reference), set source="WORKSPACE" and use an absolute path like “/Repos/&amp;lt;owner&amp;gt;/&amp;lt;repo&amp;gt;/&amp;lt;subpath&amp;gt;”. Relative paths won’t work in this mode.&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;Migrating with client.jobs.get() → client.jobs.create() When you copy settings across workspaces: * Normalize tasks to either WORKSPACE+absolute paths, or GIT+relative paths with job.git_source set. Don’t mix them unintentionally; otherwise, you’ll hit the absolute/relative path errors. If the source workspace had git_source configured, ensure you carry it over at the job level in the target workspace; don’t attach git_source to individual tasks.&lt;/DIV&gt;</description>
      <pubDate>Mon, 01 Dec 2025 18:59:42 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/only-absolute-paths-are-currently-supported-paths-must-begin/m-p/140774#M4576</guid>
      <dc:creator>iyashk-DB</dc:creator>
      <dc:date>2025-12-01T18:59:42Z</dc:date>
    </item>
  </channel>
</rss>

