Issue Details (XML | Word | Printable)

Key: JRA-1991
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: François Beauregard
Votes: 136
Watchers: 74
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
JIRA

Custom fields for Projects

Created: 10/Jul/03 12:52 PM   Updated: Thursday 06:11 AM
Component/s: Administration, Web interface
Affects Version/s: 2.3 Pro
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Duplicate
 
Part
 
Reference

Participants: Adi Ben-Arieh, Alexandre Cuva, Andrew Myers [Atlassian], Anthony Kilna, Bart Selders, Brendan Lawlor, Bruce Fancher, Don Eddleman, Eriks T., François Beauregard, Humberto Madeira, Jed Wesley-Smith, Jeff Turner [Atlassian], Jim Williams, johnny thomsen, Jose Ramón Díaz, Kevin James, Laran Evans, Ludovic Lambert, Marc Bailey, Michael Griffith, Mihai L, Niels Bertram, Petr Navara, Russ Young, Steve Lane, Stuart Harker, Stéphane Toussaint, Sudhir Joshi, Tom Pavlic and Username
Since last comment: 5 weeks, 2 days ago
Labels:
Support reference count: 13


 Description  « Hide
The ability to create custom fields for project in pretty much the same way as for issues could be very interesting.

The enterprise version could allow fields to be scoped for projects of a paricular customer.

Other entities could also benefit from having custom fields (ie Components, Version).



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Jed Wesley-Smith added a comment - 10/Jul/03 07:14 PM
Custom fields can already be scoped to just a particular Project or Issue Type. This has been available since at least 2.1 and probably before. See Administration -> Add Custom Field -> Field Scope

François Beauregard added a comment - 10/Jul/03 07:19 PM
I do not mean having issue fileds scoped for a particular project but custom fields that you would provide a value when creating (or updating) the project info.

Jeff Turner [Atlassian] added a comment - 04/Apr/04 11:56 PM
From JIRA's point of view, the Project Lead is the Default Assignee. The field serves no other function in JIRA.

Perhaps what you need are arbitrary fields on the Project object, to store project metadata? For that see JRA-1991


Bruce Fancher added a comment - 06/Jan/05 06:48 PM
Yes!!! Custom fields on issues work beautifully, but it should also be possible to create a custom field for the project itself. E.g., Customer, Product Manager, etc. That way I could create custom views for business people in my organization based on attributes of the project rather than the issues.

Kevin James added a comment - 23/Feb/05 07:02 PM
We'd also like this. We'd like to add a field on the project for QA Lead and then have our work flow automatically assign an issue to the QA Lead for a given project when the issue is Resolved.

Marc Bailey added a comment - 18/Nov/05 06:17 AM
Objective Corp also supports this requirement.
This might be clarified with a summary of:
Metadata for Projects, Versions, and Components using the existing Custom Fields mechanism

We would like to be able to include various fields on the 'edit' pages for each of these three key entities.
Some examples:
On version...
'Release description', 'Earliest ship date', 'Beta program begins date', etc
On project...
'Documentation URL', 'Department', 'Project charter'...
On component...
'Specification URL', 'Introduction date', 'End of Life date'...

The Project Summary page would be extended to show the project metadata.
Clicking on a version icon or a component icon on that page should give you a View Metadata page for that object.


Eriks T. added a comment - 30/Nov/05 01:04 PM
I agree with Marc. This is exactly what we are looking for.

Humberto Madeira added a comment - 16/Feb/06 01:40 PM
The ability to determine default Q/A lead, doc lead, default developer lead, default PM for each step of the workflow is something my users seem to expect to be able to do. Adding custom fields per project would go a long way towards this without requiring me to add large chunks of custom code. What is certain is that the ability to specify default users by roles per project is needed if Jira is to gain any additional traction in my company.

Of course, if a project custom field is added which is a "role" type, it would also be expected that the role type would be visible on email notification creation screens, filter creation screens etc.

Another ability that custom project fields would provide would be to attach default project codes per project so that cross-charge time reports could eventually be made with billing codes (in our case, billing codes = project code + customer code)

Custom fields for Projects are an enabler for a potentially large set of new features.


Petr Navara added a comment - 16/May/06 03:56 AM
A agree with Marc. This would help a lot!

Mihai L added a comment - 16/May/06 08:44 AM
Project custom fields would help our company as well!

Ludovic Lambert added a comment - 13/Oct/06 03:54 AM
Same for us, we really need this new feature.

Jim Williams added a comment - 17/Oct/06 11:37 AM
This would be handy for us as well so that we could show the budget for an entire project as well as the tasks within.

Username added a comment - 23/Oct/06 05:44 AM
Our company would also benefit a lot from this feature and I think I have a good chance to convince our company to buy the Enterprise Version of Jira if we could add custom fields to a project. Adding artefacts and other information for a development process to a project would make the work more agile. In my opinion one could put process information to Jira and not to documents. This makes
it more handy and changes will be visible immediately by all people. It would be a significant Project Management feature for Jira.
Do you have some scheduling information about this feature?
It would be really nice to have a status information about it because for us it's a "go" or "no go".
Thanks in advance for any further information.

Sudhir Joshi added a comment - 27/Dec/06 11:22 PM
Yes, this is a REQUIRED feature. I tried my hand at it by looking around the JIRA source, I use 3.4.2. I wanted to have "Subprojects" just like "Components". I could progress to some extent and then got stuck. Here is what I did:

1. Since I Subprojects would new entity, I located the entitymodel.xml and entitygroup.xml files and added relevant entries by copying entries for components and modifying. This resulted in my database having a table called "Subprojects" and the fields (table columns) same as those for Components
2. Then I looked around the sourcecode and again copied and modified some classes related to Components. The ones I created for Subprojects are as follows:
com.atlassian.jira.action.ActionNames (added relevant entries)
com.atlassian.jira.action.subproject package and the relevant classes
com.atlassian.jira.issue.IssueRelationConstants (added relevant entries)
com.atlassian.jira.project package - modified classes to add relevant methods by copying methods related to components. AbstractProjectManager, ProjectManager,ProjectCache,CachingProjectManager,DefaultProjectManager, AssigneeTypes and SubprojectAssigneeTypes were modified
com.atlassian.jira.project.subproject package created by copying the project.component package and modifying the classes
com.atlassian.jira.web.action.project package - added classes like AddSubproject,DeleteSubproject,EditSubproject.

3. Then added relevant JSPs such as AddSubproject, DeleteSubproject etc.

After compiling the created classes I restarted JIRA. Now when I go to "Administer Projects", I can see a table very similar to Components table (I had added some 6 entries to Subprojects table programmatically)

My problem then started that Add, Delete, Edit links are not working. I think a few more classes are required
Further, when I go to screens configuration, I cant see Subproejcts field there.

Can you tell me what more classes need to be created/modified?


Jeff Turner [Atlassian] added a comment - 28/Dec/06 05:45 PM
Sudhir,

Good effort, but I think you're taking the wrong approach. The 'component' table is already obsolete, and we should replace it with a predefined custom field under the covers. It is not something worth emulating. In any effort to implement this, storing and updating is only 10% of the work - the other 90% is integrating the new feature in with the rest of JIRA (eg. searching, reports).


Jeff Turner [Atlassian] added a comment - 28/Dec/06 06:28 PM
A large step towards satisfying these use-cases has been taken with Roles in JIRA 3.7 (see the release notes).

In 3.7 can create a Role called "QA Lead" (for example), and assign a different user to the "QA Lead" role for each project. Then the role member(s):

  • can be notified of changes in the notification scheme.
  • can be granted permissions (eg. 'Close').
  • can be specified in workflow validators, to limit transitions to just them.

Things not yet possible:

  • One cannot yet search for issues by arbitrary role, eg. "find issues whose Customer role is user 'ibm'" (JRA-11611)
  • There should be an 'assign to role member workflow post-function, eg. allowing us to "assign to QA Lead" (JRA-11841).

If your use-case could be met by implementing something on top of 3.7's Roles, please vote for the relevant issue, or add a new issue.


Sudhir Joshi added a comment - 29/Dec/06 01:32 AM
Yes Jeff, I agree that whatever I did was just about 10% of required. this is why I asked for help.

Nevertheless, if Components is obsolete, do you suggest I should upgrade to 3.7 from 3.4.2? Or should I wait for the custom field under the covers that you mentioned? My users are hitting me for this project level fields. Some of them even say that they need to create 100s of subprojects every month. For code review etc they want to enter some information like Customer Name at project level once, so that it can be used in all review reports. In short, this is a very much needed feature.

Please help how we can achieve such things, maybe by upgrading or whatever.


Sudhir Joshi added a comment - 29/Dec/06 06:00 AM
Hi Jeff,

Wish you a very happy new year!

I tried downloading jira 3.7 and I could find Components field is still available. You said its obsolete, but its there. I could see roles as the new addition, which is very much helpful.

Regards,
Sudhir Joshi
Process Management Group, SSU Quality
Satyam Computer Services Ltd.
CTS No-18, Dhole Patil Road,
Near Wadia College,
Pune-411001
Phone: +91-20-30534343 Ext. 4644
Fax: +91-20-30534800


Jeff Turner [Atlassian] added a comment - 01/Jan/07 06:14 PM
Sudhir,

Sorry for the confusion - I meant "obsolete" in the implementation sense, in that components could be better stored as custom fields are, rather than as a separate table.

Please can you mail jira-support@atlassian.com, describing your use-case. I don't see how sub-projects relates to the subject of this issue, which is custom fields per project.

Cheers,
Jeff


Sudhir Joshi added a comment - 03/Jan/07 05:34 AM
Jeff,

Subproject is a field required at the project level. We need to define subprojects under a project, just like we do components. Then the user should be able to select a subproject while logging an issue. The required functionality is exactly like components, so that the project lead can modify the list.

Regards,
Sudhir Joshi
Process Management Group, SSU Quality
Satyam Computer Services Ltd.
CTS No-18, Dhole Patil Road,
Near Wadia College,
Pune-411001
Phone: +91-20-30534343 Ext. 4644
Fax: +91-20-30534800


Marc Bailey added a comment - 03/Jan/07 05:51 AM
Sudhir, can I request that you open a new ticket for this subproject stuff?
This is off-topic for this issue; it tracks requests for:
Metadata for Projects, Versions, and Components using the existing Custom Fields mechanism
Please refer to my post of 18 Nov 06. This is very different from role-restricted fields on a ticket, and unrelated to project hierarchy.
Jeff, may I propose that you retitle this ticket accordingly?

johnny thomsen added a comment - 03/Jan/07 06:02 AM
Hi

The costum fields for Projects are so important for my department that we have sent a order for a change request to the cpteam@atlassian.com. We use Jira together with a external database and has for the moment just added extra columns to the project table (not a durable solution) because we use Jira together with a billing system (the extra fields on project are e.g. Billing price, ref to our billing system, fixed/time material indicator and so on).

I hope that while my company are willing to pay for this extra functionality atlassian would made the change public available?

best regards

Johnny Thomsen
LogicaCMG - Denmark


Jeff Turner [Atlassian] added a comment - 04/Jan/07 12:22 AM
> This is off-topic for this issue; it tracks requests for:
> Metadata for Projects, Versions, and Components using the existing Custom Fields mechanism

No, that is JRA-2980. This issue is tracking "Custom fields for Projects".

From what I can tell, all coherent use-cases expressed have been solved by roles in 3.7, or are covered by JRA-11611 and JRA-11841, and this issue should be closed. If anyone has a clear idea of not just what custom fields a project could have, but how they could be integrated into JIRA, please add your use-case here. For instance, storing a Billing price against a project is of no use to anyone unless it is integrated into reports, or searching, or something.


Don Eddleman added a comment - 04/Jan/07 03:10 PM
Jeff,

Here are some project level detail we would have liked to store for our projects:
Department of project
Category of project
Project number
Owner
Sponsor

The ability to define meta items and be able to search and generate reports would be fantastic. If JRA-2980 were done, then this would be a moot issue since custom fields could be added to most domain objects within Jira.

Don


Jeff Turner [Atlassian] added a comment - 04/Jan/07 04:19 PM
> The ability to define meta items and be able to search and generate reports would be fantastic.

What reports searches would you like to be able to do? How would they involve these project fields?


Don Eddleman added a comment - 04/Jan/07 04:37 PM
Here are some things that I was ask by our PMO office to do for these projects (of course assume the normal variations of these).

Generate a Report of all projects who have issues with a risk factor (we use the risk matrix plugin) greater than some value and be able to filter by one or more of the other project factors (e.g., department, category, owner, etc).

Generate a Report of all projects for one of the meta fields (e.g. all projects for a given owner, sponsor, etc)

Generate a Report that shows the status of all projects based on unresolved issues or remaining work (given you use the work tracking functionality) and filter by one or more of the meta fields.

Generate Reports that show counts of projects based on meta field critiera.

Also, they wanted to use some of these fields in the workflow scheme definition associated with the project to do routing or different behavior.


Bart Selders added a comment - 04/Jan/07 05:14 PM
From the beginning of Jira I am missing one specific project attribute, which is project status. A project in general terms has the characteristics of a temporary organization that goes through some custom defined phases, and which after some time will be finished, and should be archived. So custom fields could may be help here:
  • Be able to find and sort projects by browsing or searching through project meta-data, which could be project status, project manager, or any other combination of relevant custom project attributes
  • Be able to manage and clearly designate the project status to everyone using jira, clearly visible in UI
  • Permission and notification schemes being dependent on such project status field
  • Be able to manage relevant project attributes that can be used in workflow logic and configuration rules to do things differently depending on project context
  • Be able to use Jira to manage project master attributes that drive and link to other systems, e.g. customer number id, cost centre etc.

Anthony Kilna added a comment - 23/Jan/07 07:04 PM
DivX would like project properties with the intent to shortcut certain parts of a workflow depending on the project. This would also require an addition to how Conditions are handled for transitions (and would probably also be useful for Validators, and any other similar palce where nested conditions are used).

For instance, how about a QA-Verified property set on the project, that indicates whether or not the QA portions of the workflow are relevant for the project. Then you could optionally display the transitions "Close bug" (if QA-Verified was not set) or "Submit for QA" (if it IS a QA-Verified project). This allows you to create a robust workflow and optionally turn on or portions of it depending on the needs of that project, without having to manage a bunch of seperate workflows and not having to do a bunch of work when switching a project that's in development to one which now needs to be QA verified.


Jose Ramón Díaz added a comment - 17/Aug/07 02:22 AM
I might try to code this. Can it be done as a plugin? Or should I modify code of jira core?
Can you point me some guidelines? Thanks!

Sudhir Joshi added a comment - 17/Aug/07 03:04 AM
I think you need to modify the core. I tried doing that, by copying the classes related to components and modifying them. I ended up at a point where I could see a list of subprojects in the same way like components, but hit the roadblock with a third party class which needed modification to proceed further.

Regards,
Sudhir


Brendan Lawlor added a comment - 19/Oct/07 11:16 AM
A great limitation on the customer reports that I create is that I can only use the data that JIRA wants to store. I'd really like to be able to save the following additional information on JIRA so that my JIRA custom reports would really work:

1) I'd like to specify the amount of person hours budgeted for a version/project.
2) I'd like to be able to specify the number of people that are going to be working on a given version.
3) I'd like to be able to say whether this project is internal to my company or external, or classify it by any other means.

I'm sure many other people out there have their own requirements too.

The point is, JIRA's extensibility is hobbled by the inability to add custom fields. We don't expect Atlassian to add on the specific fields that each of us would like - that would really pollute the domain model, and make things lose their shape. So the per-installation custom fields solution seems to me to be an elegant solution. If you add up the votes on this and JRA-2980 (and the many duplicates that are out there) you can see this is a highly sought after piece of functionality. (Incidentally - do you guys have a way of aggregating the unique votes for a cluster of duplicate issues? This would really help you see what your customers really want).


Laran Evans added a comment - 05/Mar/08 03:00 PM
I need to be able to specify a "Client" attribute at the Project level. For me there are many Clients. Each Client has many Projects. Each Project has many Components. Etc...

What I really want to do is integrate JIRA with my billing system. I need to allow logged work to show up as billable time in my billing system. To do this I need to be able to associate tasks with Clients. And the most appropriate place for me to do that is at the Project level.


Michael Griffith added a comment - 14/Apr/08 10:47 AM
I can't believe this isn't already a Jira feature. We need this!!

Steve Lane added a comment - 28/May/08 12:54 AM
Jeff Turner asked for concrete use cases a while ago. For us, this feature would be very useful for filtering a project list. We'd like to be able to attach metadata to a project such active vs inactive, project manager (yes this can now be done with Roles), team (could be done with category), and then, critically, use that data to filter the list of projects a user sees (custom portlet type, to be sure).

Niels Bertram added a comment - 23/Jul/08 08:09 PM
Is there any progress on or release tagged for this feature?

Tom Pavlic added a comment - 10/Sep/08 01:59 PM
The ability to add additional fields at the project level for categorizing projects for Sr. Management review is a huge gap with the product. While no software can meet everyone's requirements, I believe the ability to extend the product at the various levels would put this product over the top.

We are about 75% convinced this is the right product for our organization, but the ability to roll up projects for reporting purposes is a significant short coming, unless we can add additonal fields at the project level.


Stuart Harker added a comment - 19/Sep/08 12:48 AM
Even the ability to add custom static data like when defining a user would be helpful. Who is the customer of the project for example.

Adi Ben-Arieh added a comment - 13/Nov/08 03:08 AM
There is no possibility to manage versions in projects, adding customized fields for things like deployment environment would be helpful.

Alexandre Cuva added a comment - 22/Jan/09 07:33 AM
One simple thing should be counted on this field. Maybe set on Global Permission. The User field should not propose users who have no right to access the selected Project or just JIRA. Actually if I look at the watcher list I add Watcher who have no right to access the project or JIRA application.

Russ Young added a comment - 09/Feb/09 12:21 PM
I just added my vote to the list. We do need the ability to define project level fields.

Stéphane Toussaint added a comment - 11/Feb/09 03:44 AM
A Use case expressed by my direction is :

Specify cost per day of project management and developpment.
Use those values in addition of workload in order to generate a report which summarize the project profit in term of time spend and of cost.

For instance I can see an improvement to the Kaamelot Plugin (Workload Report (Project)) with the addition of 'Gap ($)' column


Andrew Myers [Atlassian] added a comment - 28/May/09 01:09 AM
The following plugin seems to allow you to add custom attributes to a project:

The installation process seems pretty invasive - it creates new database tables.