Back to Prefect

repository

docs/integrations/prefect-azure/api-ref/prefect_azure-repository.mdx

3.6.30.dev33.4 KB
Original Source

prefect_azure.repository

Interact with files stored in Azure DevOps Git repositories.

The AzureDevopsRepository class in this module is a storage block that lets Prefect agents pull Prefect flow code from Azure DevOps repositories.

The AzureDevopsRepository block is ideally configured via the Prefect UI, but can also be used in Python as the following examples demonstrate.

Examples: Load a configured Azure DevOps repository block: ```python from prefect_azure.repository import AzureDevopsRepository

azuredevops_repository_block = AzureDevopsRepository.load("BLOCK_NAME")
```

Clone a public Azure DevOps repository:
```python
from prefect_azure.repository import AzureDevopsRepository

public_repo = AzureDevopsRepository(
    repository="https://dev.azure.com/myorg/myproject/_git/myrepo"
)
public_repo.save(name="my-azuredevops-block")
```

Clone a specific branch or tag:
```python
from prefect_azure.repository import AzureDevopsRepository

branch_repo = AzureDevopsRepository(
    repository="https://dev.azure.com/myorg/myproject/_git/myrepo",
    reference="develop"
)
branch_repo.save(name="my-azuredevops-branch-block")
```

Clone a private Azure DevOps repository:
```python
from prefect_azure import AzureDevopsCredentials, AzureDevopsRepository

azuredevops_credentials_block = AzureDevopsCredentials.load("my-azuredevops-credentials")

private_repo = AzureDevopsRepository(
    repository="https://dev.azure.com/myorg/myproject/_git/myrepo",
    credentials=azuredevops_credentials_block
)
private_repo.save(name="my-private-azuredevops-block")
```

Classes

AzureDevopsRepository <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-azure/prefect_azure/repository.py#L73" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Interact with files stored in Azure DevOps Git repositories.

Methods:

aget_directory <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-azure/prefect_azure/repository.py#L144" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
aget_directory(self, from_path: Optional[str] = None, local_path: Optional[str] = None) -> None

Asynchronously clones an Azure DevOps repository.

This defaults to cloning the repository reference configured on the Block to the present working directory.

Args:

  • from_path: If provided, interpreted as a subdirectory of the underlying repository that will be copied to the provided local path.
  • local_path: A local path to clone to; defaults to present working directory.

get_directory <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-azure/prefect_azure/repository.py#L190" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
get_directory(self, from_path: Optional[str] = None, local_path: Optional[str] = None) -> None

Clones an Azure DevOps project within from_path to the provided local_path.

This defaults to cloning the repository reference configured on the Block to the present working directory.

Args:

  • from_path: If provided, interpreted as a subdirectory of the underlying repository that will be copied to the provided local path.
  • local_path: A local path to clone to; defaults to present working directory.