Edgewall Software
Modify

Opened 13 years ago

Last modified 11 months ago

#2662 new enhancement

assign tickets to multiple users

Reported by: mala Owned by:
Priority: normal Milestone: next-major-releases
Component: ticket system Version: 0.9.3
Severity: normal Keywords: tracobject user
Cc: software@…, mjhweb-trac-tickets@…, josh.moore@…, david.l.jones@…, gjcarneiro@…, r.s.hatcher@…, benton@…, phuna24@…, sarcastyx@…, giekka@…, jsch@…, fcorreia@…, zbedell@…, lucas.mendes@…, pwongvib@…, manolo.email@…, leho@…, dasch_87@…, standogan@…, j.beilicke@…, jhn@…, adam.wos@…, albert.gil@…, stran@…, hn@…, franz.mayer@…, boris.savelev@…, sergiodj@…, Ryan J Ollos, olemis+trac@…, ahowell82@…, massimo.b@… Branch:
Release Notes:
API Changes:

Description

It would be very nice, if I could assign a ticket to more than one user. I set the restrict owner-parameter to false and typed in two users. I tried with different syntax, but the trac system did not notice the ticket to belong to the them. Would be fine…

Attachments (0)

Change History (76)

comment:1 by Christian Boos, 13 years ago

Keywords: tracobject user added
Milestone: 0.9.40.12

Some remarks:

  • the milestone:0.9.4 is used for bug fixes only
  • in general, the Trac ticket system can't really cope with multiple values for a field (multiple components, milestones, versions, etc.)
  • milestone:0.12 aims to have a better user/session system. This enhancement request seems to fit in this category.

comment:2 by douard@…, 13 years ago

I have the same need. Waiting for it to be properly implemented in Trac, here is my current hack:

  • add a new ticket report with the following SQL query (this is a very naive hack, that do not work if 2 users have similar usernames, eg. 'toto' and 'toto_jr' will interfer):
    SELECT p.value AS __color__,
       (CASE status WHEN 'assigned' THEN 'Assigned' ELSE 'Owned' END) AS __group__,
       id AS ticket, summary, component, version, milestone,
       t.type AS type, priority, time AS created,
       changetime AS _changetime, description AS _description,
       reporter AS _reporter
      FROM ticket t, enum p
      WHERE t.status IN ('new', 'assigned', 'reopened') 
    AND p.name = t.priority AND p.type = 'priority' AND owner glob '*$USER*' 
      ORDER BY (status = 'assigned') DESC, p.value, milestone, t.type, time
    
  • modified the Notify.py (from Trac 0.9.3) source code file, so the ticket notify system send a message to every owner of the component (must be separated with commas "," or white spaces): File $PYTHONPATH/site-packages/trac/Notify.py, line 286, replace:
                    recipients.append(row[2])
    

with:

                recipients.extend(row[2].replace(',', ' ').split())

comment:3 by bpalmer, 13 years ago

Thank you, previous commenter! I need this functionality for our new project, and it would have taken me hours to work out what you did, since I don't really know Python at all.

comment:4 by anonymous, 13 years ago

Cc: mjhweb-trac-tickets@… added

comment:5 by anonymous, 13 years ago

Cc: josh.moore@… added

comment:6 by david.l.jones@…, 13 years ago

Cc: david.l.jones@… added

SQLite has some regexp capability, but it's not implemented (?). I'm not a SQLite person, so I'm not sure how to use it, but here's the blurb:

The REGEXP operator is a special syntax for the regexp() user function. No regexp() user function is defined by default and so use of the REGEXP operator will normally result in an error message. If a user-defined function named "regexp" is defined at run-time, that function will be called in order to implement the REGEXP operator.

(SQLite docs)

So if the regexp could be implemented, then a "smarter" parsing of the owner field would look like

-- ...
AND p.name = t.priority AND p.type = 'priority' AND owner REGEXP '([^,]*,)*$USER(,[^,]*)*' 
-- ...

Of course, this depends on a user-provided regexp function in SQLite (whatever that means… ;) ). Alternatively, simply make sure that the field is padded left and right sides with commas, so then the glob looks like this:

-- ...
AND p.name = t.priority AND p.type = 'priority' AND owner GLOB '*,$USER,*' 
-- ...

Of course, these are both hacks, and I don't condone using them, nor would I take responibility for using them in combination with any other queries, reports, database systems, prolonged sun exposure, narcotic pain killers, etc.

comment:7 by Gustavo Carneiro, 12 years ago

Cc: gjcarneiro@… added

comment:8 by Rosalyn Hatcher, 12 years ago

Cc: r.s.hatcher@… added

comment:9 by anonymous, 12 years ago

Has anyone implemented a hack to achieve this for Trac 0.10?

Adding a glob '*$USER*' to the report causes an error:

Report execution failed: not all arguments converted during string formatting

I don't know why this wouldn't work at 0.10, but does at 0.9.x

The ticket notification system has been rewritten and not knowing much python am finding it difficult to figure out what should be changed. Any help much appreciated.

comment:10 by Christian Boos, 12 years ago

#4949 has been closed as duplicate.

A slight variant to this idea would be to have to possibility to use a group name for the owner. I thought this was proposed before, but couldn't find a reference to it…

comment:11 by mala, 12 years ago

I couldn't find the "original ticket" too. Close it, when you have found. I cannot see this is a duplicate.

comment:12 by anonymous, 12 years ago

Ah now I see it. Anyway I do want to specify any possible combination as a group. It would be fine to have the possibility to assign to more than one "real" users.

comment:13 by anonymous, 12 years ago

Cc: benton@… added

comment:14 by anonymous, 12 years ago

Cc: phuna24@… added

comment:15 by andyg, 12 years ago

This would certainly be a very useful feature for my organization. When the assign to field is restricted to a user list, it would be nice to be able to select multiple users from that list as well, as opposed to typing each in with some sort of delimiter.

comment:16 by anonymous, 12 years ago

I have a need for this. Sometimes, team members are assigned to finish same kind of tasks but not a single group task. e.g. "read this license" or "install secure ware to your PC." Everyone has to do it by themselvs. So, I would issue a ticket having the same task description to every member. Currently, I must issue a number of tickets one by one.

I guess the problem of my needs is more related to UI, than DB.

in reply to:  16 comment:17 by anonymous, 12 years ago

Replying to anonymous:

I have a need for this. Sometimes, team members are assigned to finish same kind of tasks but not a single group task. e.g. "read this license" or "install secure ware to your PC." Everyone has to do it by themselvs. So, I would issue a ticket having the same task description to every member. Currently, I must issue a number of tickets one by one.

I guess the problem of my needs is more related to UI, than DB.

My opinion was probably not too clear.

I suppose "create a ticket using an existing ticket" functionality is good enough for me. I can even use ticket keyword to follow up tens of tickets.

comment:18 by anonymous, 11 years ago

Cc: sarcastyx@… added

comment:19 by anonymous, 11 years ago

you can edit report using LIKE,

SELECT p.value AS __color__,
   (CASE status WHEN 'assigned' THEN 'Assigned' ELSE 'Owned' END) AS __group__,
   id AS ticket, summary, component, version, milestone,
   t.type AS type, priority, time AS created,
   changetime AS _changetime, description AS _description,
   reporter AS _reporter
  FROM ticket t
  LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
  WHERE t.status IN ('new', 'assigned', 'reopened') AND owner LIKE '%$USER%'
  ORDER BY (status = 'assigned') DESC, p.value, milestone, t.type, time

it's "My ticket" example, but I think sqlite support REGEX is great!

comment:20 by giekka@…, 11 years ago

Cc: giekka@… added

in reply to:  16 comment:21 by anonymous, 10 years ago

Replying to anonymous:

I have a need for this. Sometimes, team members are assigned to finish same kind of tasks but not a single group task. e.g. "read this license" or "install secure ware to your PC." Everyone has to do it by themselvs. So, I would issue a ticket having the same task description to every member. Currently, I must issue a number of tickets one by one.

I guess the problem of my needs is more related to UI, than DB.

I have the same problem, are there any solutions? I just started using trac but can't find this option (multiple assign). Everything else works perfect!

comment:22 by Remy Blank, 10 years ago

#6078 has been closed as a duplicate, and provides a patch allowing to specify several e-mail addresses for a user.

comment:23 by jsch@…, 10 years ago

Cc: jsch@… added

comment:24 by madbyk@…, 10 years ago

Cc: madbyk@… added

Is this really hard to implement? I mean SQLite REGEXP is there, you can change the dropdown box with a multiselect box and voila?

I love Trac and I think it should include this feature. So as a developer I'll do my best if theres anything I can do. Just let me know.

comment:25 by FilipeCorreia, 10 years ago

I see some advantages in being able to assign a ticket to several users. Namely, when doing pair programming, it makes all the sense.

however, just a thought, wouldn't having several user fields instead of just one be a cleaner solution?

comment:26 by fcorreia@…, 10 years ago

Cc: fcorreia@… added

comment:27 by Christian Boos, 10 years ago

More duplicates:

  • #5409
  • #8001, with an use-case where multiple roles could be defined, therefore suggesting a more complex interaction with the workflow
  • #8069, this one using a special kind of custom field for this (with patch)

comment:28 by Zachary Bedell <zbedell@…>, 10 years ago

Cc: zbedell@… added

comment:29 by anonymous, 10 years ago

I don't like the hacks that are suggested in this ticket.

What do you think of my roles model i described in #8001? It would be very flexible to have an relation between tickets and users with a role attribute. Combining this with a workflow system that uses these relations could be very powerful.

comment:30 by jean-gui@…, 10 years ago

Cc: jean-gui@… added

I've created a plugin which adds a field "Default CC" per component. This field allows to specify a list of mail addresses or users that will be automatically added to the CC list when new tickets (of the corresponding component) are created. That's not exactly what the ticket is about, but I thought some of you might be interested.

comment:31 by lucas.mendes@…, 10 years ago

Cc: lucas.mendes@… added

I see this is a very old claim. This functionality will be very helpful for our team because we have a custom state called Review where multiple checkers should be assigned. We have been using cc field for that but users are not happy with that. Multiple assigners would be more intuitive.

comment:32 by anonymous, 10 years ago

Need is here as well, asign to more than one user and send e-mail to the assigned users. The same functionality for components as well.

I Previously worked with Jira and they have implemented this. Maybe you can get some ideas there for the implementation.

comment:33 by pwongvib@…, 10 years ago

Cc: pwongvib@… added

Adding to cc list.

comment:34 by manolo.email@…, 9 years ago

Cc: manolo.email@… added

comment:35 by lkraav <leho@…>, 9 years ago

Cc: leho@… added

interesting, discovered today it would help me as well.

comment:36 by dasch_87@…, 9 years ago

Adding to cc list.

comment:37 by dasch <dasch_87@…>, 9 years ago

Cc: dasch_87@… added

omg, here it is

comment:38 by anonymous, 9 years ago

this is a must. use cases: 1) documentation team. ui team, design team , web services team. right now i can't assign tickets to teams. I have to make fake accounts and set up mailing lists. :(

We often have tickets that need to be reassigned from one team to another before they can be closed. It would makes it easier for people to see open tickets they might be interested in.

workflow:: new ticket → assign to team 1 → accepted by team1 member1 → reassigned to team1 member2 → accepted by team1 member2→ reassigned to team2 → accepted by team2 member1 → closed

comment:39 by standogan@…, 9 years ago

Cc: standogan@… added

comment:40 by anonymous, 9 years ago

This ticket is now open for 5 years. It would be nice to have a status update. Is this planned to ever be a feature of Trac or not? What is the progress?

In my opinion, this is an essential feature for many organizations, in particular helpdesk departments (like the one I am setting up atm).

I think implementing this is really difficult though. Trac never aimed to do authentication itself yet needs to interconnect with third party systems that are used in order to use the group information.

Your thoughts please…

comment:41 by anonymous, 8 years ago

I would also like to see this feature implemented. It's something absolutely essential in most development environments.

comment:42 by j.beilicke@…, 8 years ago

Cc: j.beilicke@… added

comment:43 by jhn@…, 8 years ago

Cc: jhn@… added

comment:44 by adam.wos@…, 8 years ago

Cc: adam.wos@… added

comment:45 by Albert Gil <albert.gil@…>, 8 years ago

Cc: albert.gil@… added

comment:46 by stran@…, 8 years ago

Cc stran@… added

comment:47 by Steve Tran <stran@…>, 8 years ago

Cc: stran@… added

Joining mailing list because this would be a great feature to have.

comment:48 by hn@…, 8 years ago

Cc: hn@… added

We would also love this feature! Any chance that it will be implemented soon?

comment:49 by theonenkl@…, 7 years ago

Yes, this would be great!

comment:50 by seanlsaghdslatuea <dwyers@…>, 7 years ago

Cc: dwyers@… added
Resolution: fixed
Status: newclosed

comment:51 by seanlsaghdslatuea <dwyers@…>, 7 years ago

Resolution: fixed
Status: closedreopened

comment:52 by anonymous, 7 years ago

The requested feature might be implemented by BudgetingPlugin.

comment:53 by franz.mayer@…, 7 years ago

Cc: franz.mayer@… added

comment:54 by Boris Savelev <boris.savelev@…>, 7 years ago

Cc: boris.savelev@… added

comment:55 by anonymous, 7 years ago

So basically - after 6 years - tickets still can't be assigned to a group of people?

comment:56 by lkraav <leho@…>, 7 years ago

cboos, is comment:10 still an option today?

comment:57 by dwalker@…, 6 years ago

Does anyone know if this functionality is available now?

comment:58 by sergiodj@…, 5 years ago

Cc: sergiodj@… added

Hi, is there any news about this? Please, Trac devs, is it possible to at least respond to this ticket? Thanks.

comment:59 by madbyk@…, 5 years ago

Cc: madbyk@… removed

comment:60 by dwyers@…, 5 years ago

Cc: dwyers@… removed

comment:61 by Ryan J Ollos, 5 years ago

Cc: Ryan J Ollos added

comment:62 by anonymous, 5 years ago

I would also like to specify a comma seperated list of users to assign a ticket to several users. Any news?

comment:63 by anonymous, 5 years ago

exactly the same thing here!!

comma seperated would be fine

if you have a lead role but are dependend on the opinion "read text" decision or implementation of several different users comming to gether to one task.

and mail is not the main communication but trac itself

comment:64 by Olemis Lang <olemis+trac@…>, 5 years ago

Cc: olemis+trac@… added

comment:65 by anonymous, 4 years ago

Please Trac Devs, what are your thoughts aboout this feature? 9(sic!) years passed without any comment? Are you serious?

comment:66 by hagadorn@…, 4 years ago

What is the status of this please? We also have a need, it seems like a lot of people do.

comment:67 by Ryan J Ollos, 4 years ago

Owner: Jonas Borgström removed
Status: reopenednew

comment:68 by rob.haynes@…, 4 years ago

Please, I have a need too.

comment:69 by Kelle Cruz <kellecruz@…>, 4 years ago

Is it possible that maybe this functionality could be implemented in conjunction with the UserManagerPlugin which helps manage teams?

comment:70 by Howell <ahowell82@…>, 3 years ago

Cc: ahowell82@… added

comment:71 by mattias.norlander@…, 3 years ago

Yes - assigning multiple users would be beneficial since one ticket may contain more than once action to be carried out by more than one user. That would give all responsible users the visibility of the ticket…

comment:72 by massimo.b@…, 3 years ago

Cc: massimo.b@… added

comment:73 by massimo.b@…, 3 years ago

Just like requested in #8069, wouldn't it be the easiest to add 2 new types (users-list and users-select, or even more if we had groups) for TracTicketsCustomFields? Functionality is already available at the builtin Owner field and in the Cc field together with the completion of AutocompleteUsersPlugin.

The new types could be called:

  • users-list: working exactly like the Cc field with comma separated user list and completion like AutocompleteUsersPlugin
  • users-select: working like the builtin Owner field providing a list of users to select one.

[Optional:]

  • groupusers-list: While AnnouncerPlugin started a feature with groups, the standard Trac current has no user groups. If groups of users can be defined by admin (is there a change request already?) we could also assign a comma separated list of users belonging to groups here
  • groupusers-select: same with single group selection
  • group-list: Comma separated list of groups with completion like users-list
  • group-select: Providing the list of available groups to select one

Use-Case idea:

[ticket-custom]

reviewer = users-select
reviewer.label = Reviewer
#reviewer.options     # not required, providing all users to select a single user
#reviewer.value       # not required, global default value doesn't make sense here



tester = group-select
tester.label = Tester
# tester.options =     # Leaving this empty provides a list of all availabl groups to select one group
# tester.options = element_tester_group system_tester_group    # But could also be used to restrict only some tester groups to select one of them



documentation = groupusers-select
documentation.label = Documentation author

# Providing all users included in these groups to select a single user
# Accepting wildcard doc_* or *test_*
# Leaving this commented would behave exactly like type users-select privinng all users of all groups
documentation.options = doc_group

comment:74 by massimo.b@…, 11 months ago

Any plans to add a custom field type allowing to select from a users list, just like the owner field? That would ease to add roles defining a user for that role.

in reply to:  74 comment:75 by Ryan J Ollos, 11 months ago

Replying to massimo.b@…:

Any plans to add a custom field type allowing to select from a users list, just like the owner field?

See #8069.

comment:76 by jean-gui@…, 11 months ago

Cc: jean-gui@… removed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The ticket will remain with no owner.
The ticket will be disowned.
as The resolution will be set.
The owner will be changed from (none) to anonymous.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.