You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2023-10-02 13:51:29

mrvls
Member
Registered: 2020-10-03
Posts: 18

Ajout Ticket_User, Technicien ou Observateur

Bonjour à tous et désolé si la solution se trouve sur le forum mais rien ne fonctionne chez moi.

Précision avant tout: j'arrive déjà à faire pas mal de choses avec mes requêtes sous PowerShell (ajout commentaire, ajout task, validation task, suppression utilisateurs).

Mais justement donc, impossible d'ajouter un utilisateur sur un ticket créé.
Voici ce que j'utilise en json :

$json = @{
    input = @{
    "tickets_id"=$data_ticket.id
    "users_id"="3679"
    "type"="2"
    "use_notification"="1"
    }
} | ConvertTo-Json

Avec cette requête (j'ai tout tenté Post Put et Patch)

(uri = ...glpi/apirest.php/Ticket/47369/Ticket_User/)

Invoke-RestMethod -Uri "$(($data_ticket.links | ? {$_.rel -eq "Ticket_User"}).href)" -Headers @{"session-token"=$SessionToken.session_token;"App-Token" = $glpi_appToken.GetNetworkCredential().Password; "ContentType" = "application/json"} -Method Put -Body $json

(uri = .../glpi/apirest.php/Ticket/47369)

Invoke-RestMethod -Uri "$($AppURL)/Ticket/$($data.2)" -Headers @{"session-token"=$SessionToken.session_token;"App-Token" = $glpi_appToken.GetNetworkCredential().Password; "ContentType" = "application/json"} -Method Put -Body $json

sur les PUT et PATCH j'ai une réponse sans intérêt ou tout est à zéro/false sans Rank à 1 et IsFixedSize à true.
sur les POST je reçois 400 BAD REQUEST. Your browser sent a request that this server could not understand

dans tous les cas il ne se passr rien sur GLPI.
sauf une fois mon compte de service est passé dans l'historique en dernier modifiant du ticket alors qu'il n'a rien fait mais je sais pas reproduire.

GLPI 10.0.3

Last edited by mrvls (2023-10-02 15:24:20)

Offline

#2 2023-10-02 14:11:25

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: Ajout Ticket_User, Technicien ou Observateur

bonjour je suis surpris par le nom de la variable.

$data_ticket.id

avez vous essayé avec des valeurs en dur.

pour ajouter un utilisateur c'est la méthode POST

avez vous des "règles" ou paramétrages qui pourraient bloquer ? ( tentative sur un ticket fermé, un seul technicien autorisé,  technicien pas dans l'entité du ticket, une seul technicien ou groupe autorisé, ...


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#3 2023-10-02 14:30:46

mrvls
Member
Registered: 2020-10-03
Posts: 18

Re: Ajout Ticket_User, Technicien ou Observateur

Pour la variable je fais de la sorte pour toutes mes requêtes. Dans le doute j'ai essayé en dur mais j'ai toujours 400 Bad Request en réponse, sur un Post donc.

Pas de règles à ma connaissance, là je tente d'ajouter l'utilisateur en Assigné ou en Observateur alors qu'il n'y a personne dessus. Le compte utilisé dispose de touts les droits et se trouve.
Je précise que sur ce même ticket j'ai déjà créé des task, followup et delete des user sans aucun problème.

Offline

#4 2023-10-02 14:56:39

mrvls
Member
Registered: 2020-10-03
Posts: 18

Re: Ajout Ticket_User, Technicien ou Observateur

Sachant qu'il ne s'agit pas d'une création d'un ticket mais bien d'un changement de ticket existant, y-a-t-il réellement des règles que je devrais contrôler ?

Type de règle
Règles d'import et de liaison des équipements
Règles d'affectation d'un élément à une entité
Règles de localisation
Règles pour assigner un ticket créé via un collecteur de courriels
Règles d'affectation d'habilitations à un utilisateur
Règles d'affectation d'une catégorie aux logiciels
Règles métier pour les tickets
Règles métier pour les matériels
Transférer
Listes noires

Offline

#5 2023-10-02 14:59:52

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: Ajout Ticket_User, Technicien ou Observateur

pouvez vous ajouter un technicien sur ce ticket via l'interface graphique ? ( vérifiez le profil, voter entité, et l'entité du ticket ).
si oui l'API devrait le permettre( avec le même utilisateur, le même profil, et la même entité)


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#6 2023-10-02 15:06:11

mrvls
Member
Registered: 2020-10-03
Posts: 18

Re: Ajout Ticket_User, Technicien ou Observateur

oui, je n'y avais pas pensé mais je viens de tester à l'instant et je n'ai aucun problème pour l'ajouter manuellement depuis l'interface graphique avec le compte de service utilisé dans l'API.
D'ailleurs c'est le compte de service qui s'ajoute lui-même pour info. wink

le ticket est issue d'un formulaire mais je ne pense pas que ce soit important ?
je vais tester sur un autre ticket au cas où.

Last edited by mrvls (2023-10-02 15:06:34)

Offline

#7 2023-10-02 15:22:31

mrvls
Member
Registered: 2020-10-03
Posts: 18

Re: Ajout Ticket_User, Technicien ou Observateur

pareil sur un autre ticket.
toujours erreur 400 quand je cherche à POST un nouvel user en assigné en plus d'un premier (je pensais que le statuts pouvait poser problème mais il change bien quand je retire (DELETE) les user via API).

et toutes mes excuses nous sommes en 10.0.3.

Last edited by mrvls (2023-10-02 15:24:44)

Offline

#8 2023-10-03 17:02:43

mrvls
Member
Registered: 2020-10-03
Posts: 18

Re: Ajout Ticket_User, Technicien ou Observateur

alors j'ai contourné le problème pour arriver à mon résultat qui était en vérité de positionner le followup ou la task toujours du même côté graphiquement dans le ticket (à gauche) pour simplifier la documentation et rendre l'ensemble plus cohérant.
c'est stupide mais j'avais constaté que si mon compte de service n'était pas affecté au ticket ses actions étaient disposées à gauche. donc sur une action où il doit garder la main sur le ticket après avoir ajouter à un commentaire je cherchais à le supprimer pour le repositionner juste après.

mais tout ceci est inutile grâce à ce paramètre qui permet de place à gauche (1) ou à droite (4 je crois) les contributions du compte de service qui envoie ces requêtes :

"timeline_position"=1

j'aurais probablement bientôt besoin de répondre au sujet de ce post mais pour le moment tout ce que j'ai réussi à faire c'est ajouter un utilisateur à une tâche :

$json = @{
    #suprime automate de la tâche
    input = @{
        "id"=($ticket_tasks | ? {$_.taskcategories_id -eq 2}).id
        "users_id_recipient"=3775
    }
} | ConvertTo-Json -Depth 4

Invoke-RestMethod -Uri "$(($data_ticket.links | ? {$_.rel -eq "TicketTask"}).href)" -Headers @{"session-token"=$SessionToken.session_token;"App-Token" = $glpi_appToken.GetNetworkCredential().Password} -ContentType "application/json" -Method Patch -Body ([System.Text.Encoding]::UTF8.GetBytes($json))

ou pour tout supprimer :

"users_id_recipient"=0

peut être une piste à creuser..

Offline

#9 2023-10-05 22:14:14

raiden86
Member
Registered: 2018-08-08
Posts: 16

Re: Ajout Ticket_User, Technicien ou Observateur

Hi Guys.. Did you manage to solve this?
I´m trying to assign a technician to a created ticket using the API but nothing worked.

If I use the GET "getpActiveProfile", I get this:

"active_profile": {
        "id": 4,
        "name": "Super-Admin",
        "interface": "central",
        "is_default": 0,
        "helpdesk_hardware": 3,
        "helpdesk_item_type": [
            "Computer",
            "Monitor",
            "NetworkEquipment",
            "Peripheral",
            "Phone",
            "Printer",
            "Software"
        ],

So, Im sure that I have right access to make any changes..

When I run POST or PUT https://domain.com/apirest.php/Ticket/1 … cket_User/

{
    "input": {
        "id": 13014,
        "users_id": 620
    }
}

Get the error:

"ERROR_GLPI_UPDATE",
"No tiene permiso para realizar esta acción."

But I´m not sure if this is the Uri that I have to use to assign a technician to a ticket.

As you said, there is no documentation about tickets.

Sorry for my English.. I´m from Argentina.

Thanks

Last edited by raiden86 (2023-10-05 22:14:39)

Offline

#10 2023-10-05 22:38:51

raiden86
Member
Registered: 2018-08-08
Posts: 16

Re: Ajout Ticket_User, Technicien ou Observateur

Never mind.. I could assign a technician using the API.

I used POST on /Ticket/numberofticket/Ticket_User/ with the following code

{
    "input": {
        "tickets_id": 13014,
        "users_id": 620,
        "type": 2,
        "use_notification": 1,
        "alternative_email": ""
    }
}

Offline

Board footer

Powered by FluxBB