Dostępne żądania API
Lista żądań REST API Xopero ONE dotyczących operacji backupu, w tym zarządzania repozytoriami, obsługi metadanych oraz synchronizacji organizacji.
REST API Xopero ONE udostępnia kompaktowy zestaw endpointów dla środowisk DevOps (zaimplementowanych metodą POST) do uwierzytelniania użytkowników, przeglądania i zarządzania organizacjami oraz repozytoriami Git, a także automatyzacji operacji backupu, takich jak podłączanie lub odłączanie repozytoriów, inicjowanie synchronizacji oraz sprawdzanie statusu organizacji.
Lista endpointów API
Poniższa tabela przedstawia wszystkie dostępne endpointy API Xopero ONE, wraz z krótkim opisem oraz linkiem do ich pełnej dokumentacji.
Do autoryzacji wszystkich żądań API (z wyjątkiem logowania) należy używać tokena dostępu. Więcej informacji na temat uwierzytelniania w API można znaleźć w tym artykule.
Zaloguj się do Xopero ONE Management Service i uzyskaj token dostępu.
Wyświetl listę organizacji Git zintegrowanych z Xopero ONE.
Wyświetl wszystkie plany backupu przypisane do wybranej organizacji Git.
Dołącz repozytorium do planu backupu.
Dołącz projekt Azure DevOps do planu backupu.
Usuń repozytorium z planu backupu.
Usuń projekt Azure DevOps z planu backupu.
Edytuj ustawienia istniejącego planu backupu.
Edytuj ustawienia istniejącego planu backupu Azure DevOps.
Pobierz listę repozytoriów wybranej organizacji Git.
Aktywuj licencje dla wybranych repozytoriów.
Dezaktywuj licencje wybranych repozytoriów.
Usuń repozytorium z systemu Xopero ONE.
Zsynchronizuj dane wybranej organizacji Git z systemem Xopero ONE.
Konto
POST /account/login
Zaloguj się do Xopero ONE Management Service.
To żądanie zwraca token dostępu, który jest wymagany do wszystkich kolejnych żądań API.
Token dostępu wygenerowany za pomocą żądania logowania POST jest ważny przez 30 dni.
Endpoint API:
Parametry:
email
Nazwa użytkownika Xopero ONE (adres e-mail).
String
password
Hasło konta Xopero ONE.
String
rememberMe
Określa, czy sesja logowania ma zostać zapamiętana.
Boolean
Przykładowe żądanie:
Przykładowa odpowiedź:
Organizacja
POST /git/organizations/getmany
Pobierz listę organizacji Git.
Endpoint API:
Parametry:
To żądanie API wymaga teraz dodatkowych kluczy: filters, thenOrderBy oraz thenOrderByType. Domyślnie wszystkie z nich powinny zawierać puste wartości, jednak filters może być modyfikowane w zależności od potrzeb.
limit
Liczba repozytoriów na stronę.
Integer
orderby
Określa pole oraz kierunek sortowania zwracanych wyników.
String
ordertype
Określa kolejność sortowania.
String
page
Numer strony wyników.
Integer
filters
Filtry danych*.
Array<filters>
*Każdy obiekt w filters musi zawierać wartości dla trzech właściwości: operator, value oraz property. Obsługiwane wartości dla operator to między innymi: notin, eq, neq, gt, gte, lt, lte, contains, icontains oraz startswith. value określa wartość używaną do filtrowania w połączeniu z wybraną wartością właściwości operator. Dostępne wartości dla property zależą od filtrowanego zasobu — w przypadku organizacji, obsługiwane są: id, name, displayName, driver, defaultWorkerId, autoAssignLicences, syncInterval, registrationDate, isReadOnly, protectedRepositories, totalGroups oraz totalProjects.
Przykładowe żądanie:
Przykładowa odpowiedź:
Backup
POST /plans/listassignedtoorganization
Wyświetl wszystkie plany backupu, do których przypisane są repozytoria wybranej organizacji Git.
Endpoint API:
Parametry:
limit
Określa maksymalną liczbę wyników zwracanych w pojedynczej odpowiedzi API.
Integer
page
Numer strony wyników.
Integer
organizationid
ID organizacji.
Guid
Przykładowe żądanie:
Przykładowa odpowiedź:
POST /plans/attachgitrepository
Dodaj repozytorium do planu backupu, pod warunkiem, że zarówno repozytorium, jak i plan już istnieją.
Endpoint API:
Parametry:
planid
ID planu backupu*.
Guid
repositoryid
ID repozytorium.
Guid
*Możesz użyć żądania getMany, aby znaleźć konkretny identyfikator planu kopii zapasowej.
Przykładowe żądanie:
Przykładowa odpowiedź:
POST plans/AttachAzureProject
Dodaj projekt Azure DevOps do planu backupu, pod warunkiem, że zarówno projekt, jak i plan już istnieją.
Działa tylko dla planów z indywidualnym wyborem projektów.
Endpoint API:
Parametry:
planId
ID planu backupu*.
Guid
projectId
ID projektu.
Guid
*Możesz użyć żądania getMany, aby znaleźć konkretny identyfikator planu kopii zapasowej.
Przykładowe żądanie:
Przykładowa odpowiedź:
POST /plans/detachgitrepository
Usuń repozytorium z planu backupu.
Endpoint API:
Parametry:
planid
ID planu backupu*.
Guid
repositoryid
ID repozytorium.
Guid
*Możesz użyć żądania getMany, aby znaleźć konkretny identyfikator planu kopii zapasowej.
Przykładowe żądanie:
Przykładowa odpowiedź:
POST plans/DetachAzureProject
Usuń projekt Azure DevOps z planu backupu.
Działa tylko dla planów z indywidualnym wyborem projektów.
Endpoint API:
Parametry:
planId
ID planu backupu*.
Guid
projectId
ID projektu.
Guid
*Możesz użyć żądania getMany, aby znaleźć konkretny identyfikator planu kopii zapasowej.
Przykładowe żądanie:
Przykładowa odpowiedź:
POST /plans/modifygitplan
Edytuj istniejący plan backupu Git.
Endpoint API:
Parametry:
id
ID planu backupu*.
Guid
isActive
Wskazuje, czy harmonogram jest obecnie włączony (true) czy wyłączony (false).
Boolean
name
Nazwa planu backupu.
String
type
Określa typ planu backupu.
EPlanType
backupType
Typ backupu.
EBackupType
storageId
ID magazynu danych backupu.
Guid
repositoriesIds
Tabela identyfikatorów repozytoriów.
IEnumerable<Guid>
workerId
Unikalny identyfikator agenta (workera) wykonującego operacje backupu.
Guid
schedule
Harmonogram backupu.
BackupScheduleDTO
advancedOptions
Opcje zaawansowane.
Dictionary<string, string>
compressionSettings
Ustawienia kompresji.
CompressionSettingsEntry
encryptionSettings
Ustawienia szyfrowania.
EncryptionSettingsEntry
customActions
Akcje zdefiniowane przez użytkownika.
BackupCustomActionsEntry
inculdeAllReposistories
Jeśli wartość wynosi true, plan ignoruje wybrane repozytoria i obejmuje wszystkie repozytoria w organizacji.
Boolean
organizationId
ID organizacji.
Guid
includeMetadata
Jeśli wartość wynosi true, backup obejmuje metadane.
Boolean
*Możesz użyć żądania getMany, aby znaleźć konkretny identyfikator planu kopii zapasowej.
Przykładowe żądanie:
Przykładowa odpowiedź:
POST plans/ModifyAzurePlanAsync
Edytuj istniejący plan backupu Azure DevOps.
Endpoint API:
Parametry:
id
ID planu backupu*.
Guid
isActive
Wskazuje, czy harmonogram jest obecnie włączony (true) czy wyłączony (false).
Boolean
name
Nazwa planu backupu.
String
type
Określa typ planu backupu.
EPlanType
backupType
Typ backupu.
EBackupType
storageId
ID magazynu danych backupu.
Guid
repositoriesIds
Tabela identyfikatorów repozytoriów.
IEnumerable<Guid>
excludedRepositoriesIds
Identyfikatory wykluczonych repozytoriów.
IEnumerable<Guid>
projectsIds
Identyfikatory projektów do objęcia backupem.
IEnumerable<Guid>
wikisIds
Identyfikatory wiki do objęcia backupem.
IEnumerable<Guid>
workerId
Unikalny identyfikator agenta (workera) wykonującego operacje backupu.
Guid
schedule
Harmonogram backupu.
BackupScheduleDTO
advancedOptions
Opcje zaawansowane.
Dictionary<string, string>
compressionSettings
Ustawienia kompresji.
CompressionSettingsEntry
encryptionSettings
Ustawienia szyfrowania.
EncryptionSettingsEntry
customActions
Akcje zdefiniowane przez użytkownika.
BackupCustomActionsEntry
notificationSettings
Ustawienia powiadomień.
NotificationSettingsEntry
organizationId
ID organizacji Azure DevOps.
Guid
includeMetadata
Jeśli wartość wynosi true, backup obejmuje metadane.
Boolean
useExtraCredentials
Wskazuje, czy podczas tworzenia kopii zapasowej organizacji w chmurze używane są dodatkowe poświadczenia.
Boolean
additionalCredentials
Zbiór dodatkowych poświadczeń.
Guid[]
resourceKindsToIgnore
Rodzaje zasobów do zignorowania.
List<int>
gitChoiceMode
Tryb wyboru repozytorium.
[EGitChoiceMode](Classes/EGitChoiceMode.md)
rules
Ustawienia wyboru opartego na regułach dla każdego elementu: projekt, wiki, repozytorium.
List<AzureDevOpsRule>
*Możesz użyć żądania getMany, aby znaleźć konkretny identyfikator planu kopii zapasowej.
Przykładowe żądanie:
Przykładowa odpowiedź:
Repozytorium
POST /git/repositories/getmany
Pobierz listę repozytoriów wybranej organizacji Git.
Endpoint API:
Parametry:
To żądanie API wymaga teraz dodatkowych kluczy: filters, thenOrderBy oraz thenOrderByType. Domyślnie wszystkie z nich powinny zawierać puste wartości, jednak filters może być modyfikowane w zależności od potrzeb.
id
ID organizacji.
Guid
limit
Określa liczbę repozytoriów zwracanych na stronę.
Integer
orderby
Określa pole używane do sortowania zwracanych wyników.
String
ordertype
Określa kolejność sortowania: rosnącą (asc) lub malejącą (desc).
String
page
Numer strony wyników.
Integer
filters
Filtry danych*.
Array<filters>
*Każdy obiekt w filters musi zawierać wartości dla trzech właściwości: operator, value oraz property. Obsługiwane wartości dla operator to między innymi: notin, eq, neq, gt, gte, lt, lte, contains, icontains oraz startswith. value określa wartość używaną do filtrowania w połączeniu z wybraną wartością właściwości operator. Dostępne wartości dla property zależą od filtrowanego zasobu — w przypadku repozytoriów, obsługiwane są: id, projectId, serverId, organizationId, name, slug, project, licenceId, licenceAssigment, Availability, isProtected, lastBackupDate, lastSuccessfulBackupDate, nextBackup, status oraz lastBackupTaskStatus.
Przykładowe żądanie:
Przykładowa odpowiedź:
POST /git/repositories/activate
Aktywuj licencje dla wybranych repozytoriów Git.
Autoryzacja wymaga konta użytkownika z jedną z następujących ról: DataRemoveManagement lub GitManagement.
Endpoint API:
Parametry:
Ids
Identyfikatory repozytoriów do aktywacji.
Array<Guid>
Przykładowe żądanie:
Przykładowa odpowiedź:
POST /git/repositories/deactivate
Dezaktywuj licencje wybranych repozytoriów Git.
Autoryzacja wymaga konta użytkownika z jedną z następujących ról: DataRemoveManagement lub GitManagement.
Endpoint API:
Parametry:
Ids
Identyfikatory repozytoriów do dezaktywacji.
Array<Guid>
Przykładowe żądanie:
Przykładowa odpowiedź:
POST /git/repositories/remove
Usuń dane repozytorium z systemu Xopero ONE.
Autoryzacja wymaga konta użytkownika z jedną z następujących ról: DataRemoveManagement lub GitManagement.
Endpoint API:
Parametry:
id
Identyfikatory repozytoriów do usunięcia.
Guid
removedata
Jeśli wartość wynosi true, system usuwa również dane kopii zapasowej wybranego repozytorium.
Boolean
Przykładowe żądanie:
Przykładowa odpowiedź:
Ostatnia aktualizacja
Czy to było pomocne?

