Data Injection cannot assign multiple Groups to a Computer from a single CSV field

Open
#657 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
php
Domain
backend, database

Research direction

Start with the Data Injection import model's CSV mapping for the Group field and reproduce the issue using the provided TEST-PC CSV with GroupA, GroupB, and GroupC. Compare the single-group case with the multi-group case and determine how the field is converted into Computer-to-Group relationships. Done means multiple groups are linked from one field using a defined separator, with the existing single-group behavior preserved.

Written by the indexing model from the issue text.

Description

Code of Conduct
  • I agree to follow this project's Code of Conduct
Is there an existing issue for this?
  • I have searched the existing issues
GLPI Version

11.0.8

Plugin version

2.15.10

Bug description

When importing Computers using the Data Injection plugin, the "Group" field only accepts a single group value.
 
If multiple group names are provided in the CSV field, the plugin concatenates the entire content and treats it as a single group name instead of creating multiple Computer-to-Group relationships.
 
This occurs regardless of the separator used.
 
Tested separators:
 

  • Semicolon (;)
  • Comma (,)
  • Pipe (|)
  • Space
  • LF (\n)
  • CRLF (\r\n)
     
    Expected behavior:
     
    The plugin should either:
     
  • Support importing multiple groups from a single field using a configurable separator, or
  • Explicitly document that only one group per field is supported.
     
    Actual behavior:
     
    The plugin imports the entire field value as a single group.
     
    Example:
     
    CSV value:
     
    Exchange Domain Servers;Exchange Install Domain Servers;Exchange Servers
     
    Result:
     
    A single Group value is created/searched with the full text instead of assigning three separate groups.
Relevant log output

Page URL

No response

Steps To reproduce

Steps To Reproduce

  1. Create a Computer import model using Data Injection.
  2. Map a CSV column to the Group field.
  3. Create a CSV containing:
Name,Group
TEST-PC,"GroupA;GroupB;GroupC"
  1. Run the import.
  2. Open the imported Computer.
Result

Only one Group relation is created and the whole field content is treated as a single group value.

Expected

The Computer should be linked to:

  • GroupA
  • GroupB
  • GroupC
Your GLPI setup information

No response

Anything else?
Additional tests performed
  • ";" separator
  • "," separator
  • "|" separator
  • Space separator
  • LF-separated values
  • CRLF-separated values

All tests produced the same result.

Single group imports work correctly

Example:

Name,Group
TEST-PC,"GRP_AseguramientoRDP"
Result

The relationship is created successfully.

The problem only occurs when attempting to assign multiple groups during Data Injection import.

This feature would be very useful when importing assets from Active Directory, where computers commonly belong to multiple AD groups and those memberships need to be reflected in GLPI group relationships.

Dominant language
PHP
Stars
76
Forks
62
Avg merge
11h 39m
Merged PRs (30d)
14

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.