Skip to content

Add group/project name to members export CSV and fix pending invites for CSV

What does this MR do and why?

We have a groupMembersExport GraphQL mutation to export a list of members for a group/sub-group to a CSV:

mutation {
  groupMembersExport(input: {groupId: "gid://gitlab/Group/123"}) {
    message
    errors
  }
}

The CSV includes the group members and members for each sub-group and sub-project. This MR does the following for the exported CSV:

  1. Adds a Group or project name column that shows the name of the group/project, i.e. Sub-Group, Sub-Project.

  2. Fixes a bug where the CSV export was silently failing when there is a pending member that was invited by e-mail.

  3. Changes the Access granted timestamp to ISO8601.

  4. Adds a new Membership status column to the right of Membership type that shows whether the member is pending or approved.

  5. Remove (Custom role) from the role name if it's a custom role.

  6. Adds a Role type column to the right of the Role column that shows whether the role is default or custom.

  7. Rename the Access expired column to Access expiration.

ksnip_20241028-232110
Raw CSV output
Name,Username,Email,Path,Group or project name,Type,Role,Role type,Membership type,Membership status,Membership source,Access granted,Access expiration,Last activity
Tameika Donnelly,bruno,randal.eichmann@kertzmannmorar.us,twitter,Twitter,Group,Planner,default,direct,approved,twitter,2024-12-05T03:32:11Z,,
Brianna Breitenberg,harmony,pilar@mcculloughstehr.name,twitter,Twitter,Group,Delete,custom,direct,approved,twitter,2024-12-05T03:32:11Z,,
Administrator,root,gitlab_admin_78981e@example.com,twitter,Twitter,Group,Reporter,default,direct,approved,twitter,2024-12-05T03:32:07Z,,2025-01-17
Delbert Johns,sylvie_stamm,jacquelyn@wiegand.co.uk,twitter,Twitter,Group,Reporter,default,direct,approved,twitter,2024-12-05T03:32:11Z,,
Corrie Sauer,andreas,jeanetta.spinka@hodkiewicz.biz,twitter,Twitter,Group,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Millie Hand,lean.mante,marita_kautzer@padbergkrajcik.name,twitter,Twitter,Group,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
,,abc@123.com,twitter/twitter-sub-group,Twitter Sub-Group,Sub Group,Reporter,default,direct,pending,twitter/twitter-sub-group,2025-01-17T03:26:20Z,2025-01-31,
Administrator,root,gitlab_admin_78981e@example.com,twitter/twitter-sub-group,Twitter Sub-Group,Sub Group,Owner,default,direct,approved,twitter/twitter-sub-group,2025-01-17T03:24:49Z,,2025-01-17
Tameika Donnelly,bruno,randal.eichmann@kertzmannmorar.us,twitter/twitter-sub-group,Twitter Sub-Group,Sub Group,Planner,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Brianna Breitenberg,harmony,pilar@mcculloughstehr.name,twitter/twitter-sub-group,Twitter Sub-Group,Sub Group,Delete,custom,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Delbert Johns,sylvie_stamm,jacquelyn@wiegand.co.uk,twitter/twitter-sub-group,Twitter Sub-Group,Sub Group,Reporter,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Corrie Sauer,andreas,jeanetta.spinka@hodkiewicz.biz,twitter/twitter-sub-group,Twitter Sub-Group,Sub Group,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Millie Hand,lean.mante,marita_kautzer@padbergkrajcik.name,twitter/twitter-sub-group,Twitter Sub-Group,Sub Group,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Launa Bergnaum,geralyn_lowe,clementina_klein@cole.biz,twitter/Typeahead.Js,Typeahead.Js,Project,Maintainer,default,direct,approved,twitter/Typeahead.Js,2024-12-05T03:32:12Z,,
GitLab Security Policy Bot,gitlab_security_policy_project_8_bot_25c8c35773bc70f0d4bb8fc13c765287,gitlab_security_policy_project_8_bot_b990a9bb6875c9f3944e5fd477a28230@noreply.127.0.0.1,twitter/Typeahead.Js,Typeahead.Js,Project,Guest,default,direct,approved,twitter/Typeahead.Js,2025-01-18T00:22:52Z,,
I User0,i-user-0-1733369559,i-user-0@1733369559.com,twitter/Typeahead.Js,Typeahead.Js,Project,Owner,default,direct,approved,twitter/Typeahead.Js,2024-12-05T03:32:39Z,,
I User1,i-user-1-1733369559,i-user-1@1733369559.com,twitter/Typeahead.Js,Typeahead.Js,Project,Owner,default,direct,approved,twitter/Typeahead.Js,2024-12-05T03:32:39Z,,
I User2,i-user-2-1733369559,i-user-2@1733369559.com,twitter/Typeahead.Js,Typeahead.Js,Project,Owner,default,direct,approved,twitter/Typeahead.Js,2024-12-05T03:32:39Z,,
Albina Kreiger,ona_mante,candyce_bartoletti@hettingerpouros.info,twitter/Typeahead.Js,Typeahead.Js,Project,Reporter,default,direct,approved,twitter/Typeahead.Js,2024-12-05T03:32:12Z,,
Lesli Wiegand,paige,kamala.dare@gerhold.name,twitter/Typeahead.Js,Typeahead.Js,Project,Guest,default,direct,approved,twitter/Typeahead.Js,2024-12-05T03:32:12Z,,
Suellen Herman,reported_user_10,brittanie@gottlieb.name,twitter/Typeahead.Js,Typeahead.Js,Project,Guest,default,direct,approved,twitter/Typeahead.Js,2025-01-18T00:20:20Z,,
Administrator,root,gitlab_admin_78981e@example.com,twitter/Typeahead.Js,Typeahead.Js,Project,Owner,default,direct,approved,twitter/Typeahead.Js,2025-01-18T00:08:00Z,,2025-01-17
Tameika Donnelly,bruno,randal.eichmann@kertzmannmorar.us,twitter/Typeahead.Js,Typeahead.Js,Project,Planner,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Brianna Breitenberg,harmony,pilar@mcculloughstehr.name,twitter/Typeahead.Js,Typeahead.Js,Project,Delete,custom,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Delbert Johns,sylvie_stamm,jacquelyn@wiegand.co.uk,twitter/Typeahead.Js,Typeahead.Js,Project,Reporter,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Corrie Sauer,andreas,jeanetta.spinka@hodkiewicz.biz,twitter/Typeahead.Js,Typeahead.Js,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Millie Hand,lean.mante,marita_kautzer@padbergkrajcik.name,twitter/Typeahead.Js,Typeahead.Js,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
GitLab Security Policy Bot,gitlab_security_policy_project_19_bot_491d7187b46a59fe448b0637cf71f41e,gitlab_security_policy_project_19_bot_532ec146106100f92a6a5302ca503c32@noreply.127.0.0.1,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Guest,default,direct,approved,twitter/twitter-sub-group/twitter-sub-project,2025-01-18T00:32:53Z,,
,,abc@123.com,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Reporter,default,inherited,pending,twitter/twitter-sub-group,2025-01-17T03:26:20Z,2025-01-31,
Tameika Donnelly,bruno,randal.eichmann@kertzmannmorar.us,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Planner,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Brianna Breitenberg,harmony,pilar@mcculloughstehr.name,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Delete,custom,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Administrator,root,gitlab_admin_78981e@example.com,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Owner,default,inherited,approved,twitter/twitter-sub-group,2025-01-17T03:24:49Z,,2025-01-17
Delbert Johns,sylvie_stamm,jacquelyn@wiegand.co.uk,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Reporter,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Corrie Sauer,andreas,jeanetta.spinka@hodkiewicz.biz,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Millie Hand,lean.mante,marita_kautzer@padbergkrajcik.name,twitter/twitter-sub-group/twitter-sub-project,Twitter Sub-Project,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Launa Bergnaum,geralyn_lowe,clementina_klein@cole.biz,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Developer,default,direct,approved,twitter/typeahead-js-security-policy-project,2025-01-18T00:22:52Z,,
GitLab Security Policy Bot,gitlab_security_policy_project_20_bot_bcd9d1fdb78c118927df612de5def910,gitlab_security_policy_project_20_bot_573cb45c987696cd34a8fd08b5862b50@noreply.127.0.0.1,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Guest,default,direct,approved,twitter/typeahead-js-security-policy-project,2025-01-18T00:32:53Z,,
Tameika Donnelly,bruno,randal.eichmann@kertzmannmorar.us,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Planner,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Brianna Breitenberg,harmony,pilar@mcculloughstehr.name,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Delete,custom,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Administrator,root,gitlab_admin_78981e@example.com,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Reporter,default,inherited,approved,twitter,2024-12-05T03:32:07Z,,2025-01-17
Delbert Johns,sylvie_stamm,jacquelyn@wiegand.co.uk,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Reporter,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Corrie Sauer,andreas,jeanetta.spinka@hodkiewicz.biz,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Millie Hand,lean.mante,marita_kautzer@padbergkrajcik.name,twitter/typeahead-js-security-policy-project,Typeahead.Js - Security policy project,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
GitLab Security Policy Bot,gitlab_security_policy_project_21_bot_09c55bca2c3ab79de6fbf09f1b0fecda,gitlab_security_policy_project_21_bot_af5753b716f8e64e87e77a0c4cc9f3d2@noreply.127.0.0.1,twitter/twitter-security-policy-project,Twitter - Security policy project,Project,Guest,default,direct,approved,twitter/twitter-security-policy-project,2025-01-18T00:32:53Z,,
Administrator,root,gitlab_admin_78981e@example.com,twitter/twitter-security-policy-project,Twitter - Security policy project,Project,Owner,default,direct,approved,twitter/twitter-security-policy-project,2025-01-18T00:34:10Z,,2025-01-17
Tameika Donnelly,bruno,randal.eichmann@kertzmannmorar.us,twitter/twitter-security-policy-project,Twitter - Security policy project,Project,Planner,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Brianna Breitenberg,harmony,pilar@mcculloughstehr.name,twitter/twitter-security-policy-project,Twitter - Security policy project,Project,Delete,custom,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Delbert Johns,sylvie_stamm,jacquelyn@wiegand.co.uk,twitter/twitter-security-policy-project,Twitter - Security policy project,Project,Reporter,default,inherited,approved,twitter,2024-12-05T03:32:11Z,,
Corrie Sauer,andreas,jeanetta.spinka@hodkiewicz.biz,twitter/twitter-security-policy-project,Twitter - Security policy project,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
Millie Hand,lean.mante,marita_kautzer@padbergkrajcik.name,twitter/twitter-security-policy-project,Twitter - Security policy project,Project,Guest,default,shared,approved,gitlab-org,2024-12-05T03:32:11Z,,
CSV as table
Name Username Email Path Group or project name Type Role Role type Membership type Membership status Membership source Access granted Access expiration Last activity
Tameika Donnelly bruno randal.eichmann@kertzmannmorar.us twitter Twitter Group Planner default direct approved twitter 2024-12-05T03:32:11Z
Brianna Breitenberg harmony pilar@mcculloughstehr.name twitter Twitter Group Delete custom direct approved twitter 2024-12-05T03:32:11Z
Administrator root gitlab_admin_78981e@example.com twitter Twitter Group Reporter default direct approved twitter 2024-12-05T03:32:07Z 2025-01-16
Delbert Johns sylvie_stamm jacquelyn@wiegand.co.uk twitter Twitter Group Reporter default direct approved twitter 2024-12-05T03:32:11Z
Corrie Sauer andreas jeanetta.spinka@hodkiewicz.biz twitter Twitter Group Guest default shared approved gitlab-org 2024-12-05T03:32:11Z
Millie Hand lean.mante marita_kautzer@padbergkrajcik.name twitter Twitter Group Guest default shared approved gitlab-org 2024-12-05T03:32:11Z
abc@123.com twitter/twitter-sub-group Twitter Sub-Group Sub Group Reporter default direct pending twitter/twitter-sub-group 2025-01-17T03:26:20Z 2025-01-31
Administrator root gitlab_admin_78981e@example.com twitter/twitter-sub-group Twitter Sub-Group Sub Group Owner default direct approved twitter/twitter-sub-group 2025-01-17T03:24:49Z 2025-01-16
Tameika Donnelly bruno randal.eichmann@kertzmannmorar.us twitter/twitter-sub-group Twitter Sub-Group Sub Group Planner default inherited approved twitter 2024-12-05T03:32:11Z
Brianna Breitenberg harmony pilar@mcculloughstehr.name twitter/twitter-sub-group Twitter Sub-Group Sub Group Delete custom inherited approved twitter 2024-12-05T03:32:11Z
Delbert Johns sylvie_stamm jacquelyn@wiegand.co.uk twitter/twitter-sub-group Twitter Sub-Group Sub Group Reporter default inherited approved twitter 2024-12-05T03:32:11Z
Corrie Sauer andreas jeanetta.spinka@hodkiewicz.biz twitter/twitter-sub-group Twitter Sub-Group Sub Group Guest default shared approved gitlab-org 2024-12-05T03:32:11Z
Millie Hand lean.mante marita_kautzer@padbergkrajcik.name twitter/twitter-sub-group Twitter Sub-Group Sub Group Guest default shared approved gitlab-org 2024-12-05T03:32:11Z
Nereida Lemke cleveland.altenwerth iris@volkman.co.uk twitter/Typeahead.Js Typeahead.Js Project Planner default direct approved twitter/Typeahead.Js 2024-12-05T03:32:12Z
Launa Bergnaum geralyn_lowe clementina_klein@cole.biz twitter/Typeahead.Js Typeahead.Js Project Maintainer default direct approved twitter/Typeahead.Js 2024-12-05T03:32:12Z
I User0 i-user-0-1733369559 i-user-0@1733369559.com twitter/Typeahead.Js Typeahead.Js Project Owner default direct approved twitter/Typeahead.Js 2024-12-05T03:32:39Z
I User1 i-user-1-1733369559 i-user-1@1733369559.com twitter/Typeahead.Js Typeahead.Js Project Owner default direct approved twitter/Typeahead.Js 2024-12-05T03:32:39Z
I User2 i-user-2-1733369559 i-user-2@1733369559.com twitter/Typeahead.Js Typeahead.Js Project Owner default direct approved twitter/Typeahead.Js 2024-12-05T03:32:39Z
Albina Kreiger ona_mante candyce_bartoletti@hettingerpouros.info twitter/Typeahead.Js Typeahead.Js Project Reporter default direct approved twitter/Typeahead.Js 2024-12-05T03:32:12Z
Lesli Wiegand paige kamala.dare@gerhold.name twitter/Typeahead.Js Typeahead.Js Project Guest default direct approved twitter/Typeahead.Js 2024-12-05T03:32:12Z
Tameika Donnelly bruno randal.eichmann@kertzmannmorar.us twitter/Typeahead.Js Typeahead.Js Project Planner default inherited approved twitter 2024-12-05T03:32:11Z
Brianna Breitenberg harmony pilar@mcculloughstehr.name twitter/Typeahead.Js Typeahead.Js Project Delete custom inherited approved twitter 2024-12-05T03:32:11Z
Administrator root gitlab_admin_78981e@example.com twitter/Typeahead.Js Typeahead.Js Project Reporter default inherited approved twitter 2024-12-05T03:32:07Z 2025-01-16
Delbert Johns sylvie_stamm jacquelyn@wiegand.co.uk twitter/Typeahead.Js Typeahead.Js Project Reporter default inherited approved twitter 2024-12-05T03:32:11Z
Corrie Sauer andreas jeanetta.spinka@hodkiewicz.biz twitter/Typeahead.Js Typeahead.Js Project Guest default shared approved gitlab-org 2024-12-05T03:32:11Z
Millie Hand lean.mante marita_kautzer@padbergkrajcik.name twitter/Typeahead.Js Typeahead.Js Project Guest default shared approved gitlab-org 2024-12-05T03:32:11Z
abc@123.com twitter/twitter-sub-group/twitter-sub-project Twitter Sub-Project Project Reporter default inherited pending twitter/twitter-sub-group 2025-01-17T03:26:20Z 2025-01-31
Tameika Donnelly bruno randal.eichmann@kertzmannmorar.us twitter/twitter-sub-group/twitter-sub-project Twitter Sub-Project Project Planner default inherited approved twitter 2024-12-05T03:32:11Z
Brianna Breitenberg harmony pilar@mcculloughstehr.name twitter/twitter-sub-group/twitter-sub-project Twitter Sub-Project Project Delete custom inherited approved twitter 2024-12-05T03:32:11Z
Administrator root gitlab_admin_78981e@example.com twitter/twitter-sub-group/twitter-sub-project Twitter Sub-Project Project Owner default inherited approved twitter/twitter-sub-group 2025-01-17T03:24:49Z 2025-01-16
Delbert Johns sylvie_stamm jacquelyn@wiegand.co.uk twitter/twitter-sub-group/twitter-sub-project Twitter Sub-Project Project Reporter default inherited approved twitter 2024-12-05T03:32:11Z
Corrie Sauer andreas jeanetta.spinka@hodkiewicz.biz twitter/twitter-sub-group/twitter-sub-project Twitter Sub-Project Project Guest default shared approved gitlab-org 2024-12-05T03:32:11Z
Millie Hand lean.mante marita_kautzer@padbergkrajcik.name twitter/twitter-sub-group/twitter-sub-project Twitter Sub-Project Project Guest default shared approved gitlab-org 2024-12-05T03:32:11Z

How to set up and validate locally

Follow this video on how to test locally. The e-mail previewer path is http://127.0.0.1:3000/rails/letter_opener/. You may need to change the URL to localhost:3000 or gdk.test:3000 to view the e-mail contents, depending on how your GDK is set up.

2025-01-17_14-58-08

Related to #465383 (closed)

Edited by Daniel Tian

Merge request reports

Loading