Gérer les attributs¶
Un attribut, comme le service ou le bureau d'un membre, est un fait que les règles peuvent lire. Cette page montre comment définir un attribut, quelles valeurs il peut avoir, et comment donner une valeur à des membres et à des groupes. Ce que sont les attributs est expliqué dans Rôles et accès.
org-admin peut définir, modifier et supprimer des attributs. Donner une valeur est possible à qui
peut modifier le membre ou le groupe, comme people-admin, s'il a lui-même cette valeur ; org-admin
peut donner n'importe quelle valeur. Les attributs n'ont pas encore d'écran dans OS : vous les gérez
via l'API. Les exemples utilisent $OS, $TOKEN et $ORG comme dans
Gérer les groupes.
Définir un attribut¶
curl -s -X POST "$OS/api/v1/organisations/$ORG/attributes" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"name": "department", "allowed_values": ["sales", "finance"], "multiple": true}'
OS répond 201 :
{"id": "atd_...", "name": "department", "allowed_values": ["sales", "finance"],
"multiple": true, "version": 1, "allowed_actions": ["see", "use", "write", "delete"]}
name: lettres, chiffres et_ . : -, 64 caractères au maximum.role,group,subject,os_toolbox,os_offered,os_element,os_audience,os_assistant,os_element_editor,os_project,os_project_chats,os_project_files,os_visitor,os_desk,os_consultant,os_editor_scopeetos_kbsont lus par OS lui-même et ne peuvent pas être définis.allowed_values: les valeurs que l'attribut peut avoir. Si vous l'omettez, toute valeur est acceptée. Avec une liste fixe, OS refuse aussi une règle qui nomme une autre valeur, pour qu'une faute de frappe ne reste pas sans effet en silence.multiple: si un membre ou un groupe peut avoir plus d'une valeur. Une seule par défaut.
Une organisation définit 16 attributs au maximum : les 32 qu'un membre peut porter, moins role,
group, os_toolbox, os_offered, os_element, os_audience, os_assistant, os_element_editor, os_project, os_project_chats, os_project_files, os_visitor, os_desk, os_consultant, os_editor_scope et os_kb, qu'OS pose lui-même. En outre, OS compte ensemble combien d'attributs et
d'étiquettes les règles de votre organisation, et de chaque organisation située en dessous,
utilisent : 32 au maximum. Un nouvel attribut qui ferait dépasser cette limite à une organisation est
refusé par OS avec 409.
Modifier les valeurs autorisées¶
PUT .../attributes/department remplace allowed_values et multiple dans leur ensemble, avec la
version que vous avez lue dans If-Match. OS refuse avec 409 si la modification casserait quelque
chose :
- un membre ou un groupe a une valeur qui ne figure plus dans la liste : retirez-la d'abord ;
- une règle nomme une valeur qui ne figure plus dans la liste, dans votre propre organisation ou dans une organisation en dessous : modifiez d'abord cette règle ;
- vous désactivez
multiplealors que quelqu'un a plus d'une valeur : retirez-les d'abord.
Donner une valeur¶
curl -s -X POST "$OS/api/v1/organisations/$ORG/attribute-values" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"attribute": "department", "value": "sales", "member_id": "mem_..."}'
Indiquez member_id pour un membre ou group_id pour un groupe ; une valeur d'un groupe, chaque
membre du groupe l'a. La réponse a un identifiant comme mat_... (sur un membre) ou gat_... (sur
un groupe).
GET .../attribute-values?member_id=mem_...ou?group_id=grp_...affiche les valeurs qu'un membre ou un groupe a lui-même, pas celles reçues par des groupes.DELETE .../attribute-values/mat_...retire une valeur.
Un membre a 32 valeurs au maximum par attribut, chacune de 256 caractères au maximum.
Supprimer un attribut¶
DELETE .../attributes/department supprime l'attribut et chacune de ses valeurs, chez les membres,
chez les groupes et dans les invitations en attente. Si une règle lit encore l'attribut, dans votre
propre organisation ou dans une organisation en dessous qui ne le définit pas elle-même, OS refuse
avec 409 ; modifiez d'abord cette règle.
Quand OS refuse¶
| Réponse | Signification | Ce que vous faites |
|---|---|---|
403 |
Vous n'en avez pas le droit, ou vous donnez une valeur que vous n'avez pas vous-même ; le message indique alors l'attribut (« a value of department »). | Demandez à un administrateur. |
404 |
L'attribut, la valeur, le membre ou le groupe n'existe pas, ou vous n'avez pas le droit de le voir. | Vérifiez le nom ou l'identifiant. |
409 |
Le nom est déjà utilisé, il y a déjà 16 attributs, l'attribut a été modifié depuis votre lecture, la valeur y a déjà été donnée, l'attribut n'autorise qu'une valeur et elle existe déjà, un membre dépasserait une limite de 32, votre organisation ou une organisation en dessous utiliserait plus de 32 attributs et étiquettes, ou une modification ou une suppression casserait une valeur ou une règle. | Lisez le message et nettoyez d'abord ce qu'il nomme. |
422 |
La requête est incorrecte : un nom qu'OS utilise lui-même (role, group, subject, os_toolbox, os_offered, os_element, os_audience, os_assistant, os_element_editor, os_project, os_project_chats, os_project_files, os_visitor, os_desk, os_consultant, os_editor_scope, os_kb), un attribut inconnu, une valeur que la liste n'autorise pas, ou member_id et group_id ensemble (ou aucun des deux). |
Lisez detail ou errors dans la réponse. |