API des sources des espaces de travail
Gérez les dépôts montés dans un espace de travail. Utilisez les identifiants renvoyés par l’API pour les références aux dépôts.
Utiliser Authentification API pour les requêtes protégées. Les exemples utilisent vos propres ID de ressources et un jeton temporaire ; les exemples de réponses enregistrés sont synthétiques.
| Méthode | Chemin | Opération |
|---|---|---|
GET | /v1/workspace_source | Lister les sources de l’espace de travail |
POST | /v1/workspace_source | Créer une source d'espace de travail |
GET | /v1/workspace_source/{id} | Obtenir la source de l'espace de travail |
PUT | /v1/workspace_source/{id} | Mettre à jour la source de l'espace de travail |
DELETE | /v1/workspace_source/{id} | Supprimer la source de l'espace de travail |
Lister les sources de l’espace de travail
GET /v1/workspace_source
Renvoie une liste paginée de WorkspaceSource
Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.
Paramètres
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
X-Tenant-ID | en-tête | oui | ID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic. |
page | requête | non | Numéro de page |
per_page | requête | non | Éléments par page |
Exemple de requête
Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.
curl --fail-with-body --request GET "$ADIOS_API_URL/v1/workspace_source" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Réponse : HTTP 200
Liste de WorkspaceSource
Champs de réponse
| Champ | Type | Description |
|---|---|---|
data | tableau | |
data[].alias | chaîne | |
data[].branch | chaîne | |
data[].commit | chaîne | |
data[].created_at | entier | (horodatage Unix) |
data[].deleted_at | entier | (horodatage Unix) |
data[].external_auth_ref | chaîne | Référence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici |
data[].external_connection_id | chaîne | |
data[].external_provider | chaîne | Valeurs autorisées : none, github, gitlab, bitbucket, ssh, git. |
data[].external_repository_url | chaîne | |
data[].internal_repository_id | chaîne | Dépôt faisant autorité dans Adios Git |
data[].internal_repository_url | chaîne | URL de clonage sans identifiants pour le dépôt Adios Git faisant autorité |
data[].last_synced_at | entier | (horodatage Unix) |
data[].metadata | objet | |
data[].mount | chaîne | |
data[].repository_path | chaîne | |
data[].role | chaîne | Valeurs autorisées : primary, include. |
data[].source_key | chaîne | Identité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail |
data[].status | chaîne | Valeurs autorisées : active, archived. |
data[].sync_direction | chaîne | Valeurs autorisées : none, pull, push, bidirectional. |
data[].sync_error | objet | |
data[].sync_status | chaîne | Valeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. |
data[].team_id | chaîne | |
data[].updated_at | entier | (horodatage Unix) |
data[].workspace_id | chaîne | |
data[].workspace_source_id | chaîne | |
pagination | objet | |
pagination.page | entier | Numéro de page actuel |
pagination.per_page | entier | Nombre d’éléments par page |
pagination.total | entier | Nombre total d’éléments |
Exemple illustratif ; il ne s’agit pas d’une réponse réelle :
{
"data": [
{
"alias": "example",
"branch": "main",
"commit": "",
"created_at": 1791072000,
"deleted_at": 0,
"external_auth_ref": "",
"external_connection_id": "",
"external_provider": "none",
"external_repository_url": "",
"internal_repository_id": "000000000000000000000000001",
"internal_repository_url": "example",
"last_synced_at": 0,
"metadata": {},
"mount": ".",
"repository_path": ".",
"role": "include",
"source_key": "",
"status": "active",
"sync_direction": "none",
"sync_error": "",
"sync_status": "internal_only",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"workspace_id": "000000000000000000000000001",
"workspace_source_id": "000000000000000000000000001"
}
],
"pagination": {
"page": 1,
"per_page": 1,
"total": 1
}
}
Créer une source d'espace de travail
POST /v1/workspace_source
Crée un nouvel objet WorkspaceSource
Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.
Champs de la requête (le corps contient un exemple modifiable) :
| Champ | Type | Requis | Description |
|---|---|---|---|
alias | chaîne | oui | |
branch | chaîne | oui | Valeur par défaut : "main". |
commit | chaîne | non | Valeur par défaut : "". |
external_auth_ref | chaîne | non | Référence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici. Valeur par défaut : "". |
external_connection_id | chaîne | non | Valeur par défaut : "". |
external_provider | chaîne | oui | Valeurs autorisées : none, github, gitlab, bitbucket, ssh, git. Valeur par défaut : "none". |
external_repository_url | chaîne | non | Valeur par défaut : "". |
internal_repository_id | chaîne | oui | Dépôt faisant autorité dans Adios Git |
internal_repository_url | chaîne | oui | URL de clonage sans identifiants pour le dépôt Adios Git faisant autorité |
last_synced_at | entier | non | (horodatage Unix) Valeur par défaut : 0. |
metadata | objet | non | |
mount | chaîne | oui | Valeur par défaut : ".". |
repository_path | chaîne | oui | Valeur par défaut : ".". |
role | chaîne | oui | Valeurs autorisées : primary, include. Valeur par défaut : "include". |
source_key | chaîne | oui | Identité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail. Valeur par défaut : "". |
status | chaîne | oui | Valeurs autorisées : active, archived. Valeur par défaut : "active". |
sync_direction | chaîne | oui | Valeurs autorisées : none, pull, push, bidirectional. Valeur par défaut : "none". |
sync_error | objet | non | Valeur par défaut : "". |
sync_status | chaîne | oui | Valeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. Valeur par défaut : "internal_only". |
team_id | chaîne | oui | |
workspace_id | chaîne | oui |
Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.
Paramètres
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
X-Tenant-ID | en-tête | oui | ID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic. |
Exemple de requête
Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.
curl --fail-with-body --request POST "$ADIOS_API_URL/v1/workspace_source" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"alias": "example",
"branch": "main",
"commit": "",
"external_auth_ref": "",
"external_connection_id": "",
"external_provider": "none",
"external_repository_url": "",
"internal_repository_id": "YOUR_INTERNAL_REPOSITORY_ID",
"internal_repository_url": "YOUR_INTERNAL_REPOSITORY_URL",
"last_synced_at": 0,
"mount": ".",
"repository_path": ".",
"role": "include",
"source_key": "",
"status": "active",
"sync_direction": "none",
"sync_error": "",
"sync_status": "internal_only",
"team_id": "YOUR_TEAM_ID",
"workspace_id": "YOUR_WORKSPACE_ID"
}
JSON
Remplacez YOUR_* du corps avant l’envoi. Le heredoc entre guillemets préserve le JSON littéral.
Réponse : HTTP 201
WorkspaceSource créé
Champs de réponse
| Champ | Type | Description |
|---|---|---|
alias | chaîne | |
branch | chaîne | |
commit | chaîne | |
created_at | entier | (horodatage Unix) |
deleted_at | entier | (horodatage Unix) |
external_auth_ref | chaîne | Référence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici |
external_connection_id | chaîne | |
external_provider | chaîne | Valeurs autorisées : none, github, gitlab, bitbucket, ssh, git. |
external_repository_url | chaîne | |
internal_repository_id | chaîne | Dépôt faisant autorité dans Adios Git |
internal_repository_url | chaîne | URL de clonage sans identifiants pour le dépôt Adios Git faisant autorité |
last_synced_at | entier | (horodatage Unix) |
metadata | objet | |
mount | chaîne | |
repository_path | chaîne | |
role | chaîne | Valeurs autorisées : primary, include. |
source_key | chaîne | Identité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail |
status | chaîne | Valeurs autorisées : active, archived. |
sync_direction | chaîne | Valeurs autorisées : none, pull, push, bidirectional. |
sync_error | objet | |
sync_status | chaîne | Valeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. |
team_id | chaîne | |
updated_at | entier | (horodatage Unix) |
workspace_id | chaîne | |
workspace_source_id | chaîne |
Exemple illustratif ; il ne s’agit pas d’une réponse réelle :
{
"alias": "example",
"branch": "main",
"commit": "",
"created_at": 1791072000,
"deleted_at": 0,
"external_auth_ref": "",
"external_connection_id": "",
"external_provider": "none",
"external_repository_url": "",
"internal_repository_id": "000000000000000000000000001",
"internal_repository_url": "example",
"last_synced_at": 0,
"metadata": {},
"mount": ".",
"repository_path": ".",
"role": "include",
"source_key": "",
"status": "active",
"sync_direction": "none",
"sync_error": "",
"sync_status": "internal_only",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"workspace_id": "000000000000000000000000001",
"workspace_source_id": "000000000000000000000000001"
}
Obtenir la source de l'espace de travail
GET /v1/workspace_source/{id}
Renvoie un seul WorkspaceSource
Définissez workspace_source_id en utilisant les ID de vos propres réponses API.
Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.
Paramètres
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
id | chemin | oui | Identifiant de ressource issu des résultats API de votre équipe. |
X-Tenant-ID | en-tête | oui | ID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic. |
Exemple de requête
Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.
curl --fail-with-body --request GET "$ADIOS_API_URL/v1/workspace_source/${ADIOS_WORKSPACE_SOURCE_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Réponse : HTTP 200
WorkspaceSource
Champs de réponse
| Champ | Type | Description |
|---|---|---|
alias | chaîne | |
branch | chaîne | |
commit | chaîne | |
created_at | entier | (horodatage Unix) |
deleted_at | entier | (horodatage Unix) |
external_auth_ref | chaîne | Référence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici |
external_connection_id | chaîne | |
external_provider | chaîne | Valeurs autorisées : none, github, gitlab, bitbucket, ssh, git. |
external_repository_url | chaîne | |
internal_repository_id | chaîne | Dépôt faisant autorité dans Adios Git |
internal_repository_url | chaîne | URL de clonage sans identifiants pour le dépôt Adios Git faisant autorité |
last_synced_at | entier | (horodatage Unix) |
metadata | objet | |
mount | chaîne | |
repository_path | chaîne | |
role | chaîne | Valeurs autorisées : primary, include. |
source_key | chaîne | Identité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail |
status | chaîne | Valeurs autorisées : active, archived. |
sync_direction | chaîne | Valeurs autorisées : none, pull, push, bidirectional. |
sync_error | objet | |
sync_status | chaîne | Valeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. |
team_id | chaîne | |
updated_at | entier | (horodatage Unix) |
workspace_id | chaîne | |
workspace_source_id | chaîne |
Exemple illustratif ; il ne s’agit pas d’une réponse réelle :
{
"alias": "example",
"branch": "main",
"commit": "",
"created_at": 1791072000,
"deleted_at": 0,
"external_auth_ref": "",
"external_connection_id": "",
"external_provider": "none",
"external_repository_url": "",
"internal_repository_id": "000000000000000000000000001",
"internal_repository_url": "example",
"last_synced_at": 0,
"metadata": {},
"mount": ".",
"repository_path": ".",
"role": "include",
"source_key": "",
"status": "active",
"sync_direction": "none",
"sync_error": "",
"sync_status": "internal_only",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"workspace_id": "000000000000000000000000001",
"workspace_source_id": "000000000000000000000000001"
}
Mettre à jour la source de l'espace de travail
PUT /v1/workspace_source/{id}
Met à jour un objet WorkspaceSource existant
Définissez workspace_source_id en utilisant les ID de vos propres réponses API.
Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.
Champs de la requête (le corps contient un exemple modifiable) :
| Champ | Type | Requis | Description |
|---|---|---|---|
alias | chaîne | oui | |
branch | chaîne | oui | Valeur par défaut : "main". |
commit | chaîne | non | Valeur par défaut : "". |
external_auth_ref | chaîne | non | Référence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici. Valeur par défaut : "". |
external_connection_id | chaîne | non | Valeur par défaut : "". |
external_provider | chaîne | oui | Valeurs autorisées : none, github, gitlab, bitbucket, ssh, git. Valeur par défaut : "none". |
external_repository_url | chaîne | non | Valeur par défaut : "". |
internal_repository_id | chaîne | oui | Dépôt faisant autorité dans Adios Git |
internal_repository_url | chaîne | oui | URL de clonage sans identifiants pour le dépôt Adios Git faisant autorité |
last_synced_at | entier | non | (horodatage Unix) Valeur par défaut : 0. |
metadata | objet | non | |
mount | chaîne | oui | Valeur par défaut : ".". |
repository_path | chaîne | oui | Valeur par défaut : ".". |
role | chaîne | oui | Valeurs autorisées : primary, include. Valeur par défaut : "include". |
source_key | chaîne | oui | Identité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail. Valeur par défaut : "". |
status | chaîne | oui | Valeurs autorisées : active, archived. Valeur par défaut : "active". |
sync_direction | chaîne | oui | Valeurs autorisées : none, pull, push, bidirectional. Valeur par défaut : "none". |
sync_error | objet | non | Valeur par défaut : "". |
sync_status | chaîne | oui | Valeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. Valeur par défaut : "internal_only". |
team_id | chaîne | oui | |
workspace_id | chaîne | oui |
Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.
Paramètres
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
id | chemin | oui | Identifiant de ressource issu des résultats API de votre équipe. |
X-Tenant-ID | en-tête | oui | ID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic. |
Exemple de requête
Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.
curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/workspace_source/${ADIOS_WORKSPACE_SOURCE_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"alias": "example",
"branch": "main",
"commit": "",
"external_auth_ref": "",
"external_connection_id": "",
"external_provider": "none",
"external_repository_url": "",
"internal_repository_id": "YOUR_INTERNAL_REPOSITORY_ID",
"internal_repository_url": "YOUR_INTERNAL_REPOSITORY_URL",
"last_synced_at": 0,
"mount": ".",
"repository_path": ".",
"role": "include",
"source_key": "",
"status": "active",
"sync_direction": "none",
"sync_error": "",
"sync_status": "internal_only",
"team_id": "YOUR_TEAM_ID",
"workspace_id": "YOUR_WORKSPACE_ID"
}
JSON
Remplacez YOUR_* du corps avant l’envoi. Le heredoc entre guillemets préserve le JSON littéral.
Réponse : HTTP 200
WorkspaceSource mis à jour
Champs de réponse
| Champ | Type | Description |
|---|---|---|
alias | chaîne | |
branch | chaîne | |
commit | chaîne | |
created_at | entier | (horodatage Unix) |
deleted_at | entier | (horodatage Unix) |
external_auth_ref | chaîne | Référence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici |
external_connection_id | chaîne | |
external_provider | chaîne | Valeurs autorisées : none, github, gitlab, bitbucket, ssh, git. |
external_repository_url | chaîne | |
internal_repository_id | chaîne | Dépôt faisant autorité dans Adios Git |
internal_repository_url | chaîne | URL de clonage sans identifiants pour le dépôt Adios Git faisant autorité |
last_synced_at | entier | (horodatage Unix) |
metadata | objet | |
mount | chaîne | |
repository_path | chaîne | |
role | chaîne | Valeurs autorisées : primary, include. |
source_key | chaîne | Identité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail |
status | chaîne | Valeurs autorisées : active, archived. |
sync_direction | chaîne | Valeurs autorisées : none, pull, push, bidirectional. |
sync_error | objet | |
sync_status | chaîne | Valeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. |
team_id | chaîne | |
updated_at | entier | (horodatage Unix) |
workspace_id | chaîne | |
workspace_source_id | chaîne |
Exemple illustratif ; il ne s’agit pas d’une réponse réelle :
{
"alias": "example",
"branch": "main",
"commit": "",
"created_at": 1791072000,
"deleted_at": 0,
"external_auth_ref": "",
"external_connection_id": "",
"external_provider": "none",
"external_repository_url": "",
"internal_repository_id": "000000000000000000000000001",
"internal_repository_url": "example",
"last_synced_at": 0,
"metadata": {},
"mount": ".",
"repository_path": ".",
"role": "include",
"source_key": "",
"status": "active",
"sync_direction": "none",
"sync_error": "",
"sync_status": "internal_only",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"workspace_id": "000000000000000000000000001",
"workspace_source_id": "000000000000000000000000001"
}
Supprimer la source de l'espace de travail
DELETE /v1/workspace_source/{id}
Supprime un objet WorkspaceSource
Définissez workspace_source_id en utilisant les ID de vos propres réponses API.
Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.
Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.
Paramètres
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
id | chemin | oui | Identifiant de ressource issu des résultats API de votre équipe. |
X-Tenant-ID | en-tête | oui | ID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic. |
Exemple de requête
Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.
curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/workspace_source/${ADIOS_WORKSPACE_SOURCE_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Réponse : HTTP 200
Ressource supprimée.
Champs de réponse
| Champ | Type | Description |
|---|---|---|
message | chaîne |
Exemple illustratif ; il ne s’agit pas d’une réponse réelle :
{
"message": "Deleted successfully"
}