Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
G
GoGoCarto
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 19
    • Issues 19
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 4
    • Merge Requests 4
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Pixel Humain
  • GoGoCarto
  • Issues
  • #35

Closed
Open
Opened Feb 11, 2019 by Sebastian Castro@seballotMaintainer

Problèmes avec les webhooks

J'ai trouvé des problèmes avec les webhooks

Dans webhooks service

$data = [
                'action' => $actionType,
                'user' => $userDisplayName,
                'link' => str_replace('%23', '#', $this->router->generate('biopen_directory_showElement', array('id'=>$element->getId()), true)),
                'data' => json_decode($element->getBaseJson(), true)
            ];

Deux situations

  1. Lors d'un import, les éléments ne sont pas "flushés" à chaque fois, on flush tout les 50 éléments pour gagner en efficacité. Du coup quand dans le code le webhook service est appelé (depuis le elementActionService) l'élément n'est pas encore créé dans la base de donnée, et donc sont id n'existe pas, ce qui soulèvre une erreur pour la création du lien ($element->getId() est null)
  2. De même, les json sont générés automatiquement après un flush, du coup, même lorsqu'on ajoute un élément depuis le formulaire, $element->getBaseJson() est encore vide, et le webbookPost créé ne contient aucune data

Je pense qu'il va falloir changer la logique d'appel du webhook service

Peut être tu pourrais regarder du côté des listener, dans les dossier EventListener de chaque bundle, par example JsonRepresentationGenerator

Dis moi si tu as besoin d'aide !

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: pixelhumain/GoGoCarto#35