History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: JRA-5865
Type: New Feature New Feature
Status: Open Open
Priority: Minor Minor
Assignee: Unassigned
Reporter: Ubisoft MTL Jira Administrators
Votes: 99
Watchers: 66
Operations

If you were logged in you would be able to see more operations.
JIRA

Allow permission schemes to be configured per issue type

Created: 07/Feb/05 02:29 PM   Updated: Thursday 05:33 PM
Component/s: Permissions Security
Affects Version/s: 3.0.2
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Duplicate
Part
 
Reference

Participants: AJ, Andrea Schuhmann, Andrei, Anton Mazkovoi [Atlassian], Ben Jones, Carol Paige, Christian Ebert, Ejner Jensen, Erin Spiceland, Erwin Glassée, Guillaume Marchand, Joanne cooper, Joey Potter, Malathi Thangavelu, marco kundert, Michal Pisarek, Neal Applebaum, Nick Menere [Atlassian], Nina Engels, Paul Csapo, Payal Agarwal , pierre-yves voirol, Sarah Woodhouse, Stephen Tan and Ubisoft MTL Jira Administrators
Since last comment: 2 days ago
Support reference count: 24
Labels:


 Description  « Hide
Now, when a group has the permission to create an issue, it could create EVERY types of issues available. It's a complement to project specific issues types. (http://jira.atlassian.com/browse/JRA-1602)

For example, If we have external client (like me right now ) I would be interrested to limit his issue creation right to only bugs, features, external client requests (custom type).



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Anton Mazkovoi [Atlassian] - 14/Feb/05 07:28 PM
Hi,

This feature can be implemented by allowing permission shemes to be associated with issue types on per project basis. We are hoping to do this in a future version of JIRA. However, implementing this will be fairly labour intensive, so unfortunately I cannot provide any accurate delivery dates.

Thanks,
Anton


Andrei - 25/Mar/06 04:50 AM
This is a very important feature, and we do need it for the same reason: let clients input their own requests and have limited ("safe") permissions in creating issues and udpating them. This feature is a blocking argument in our future use of JIRA.

Michal Pisarek - 12/Jul/06 04:10 AM
As stated above I think that this issue is very important. The ability to let any user create any issue type has a major impact on the way that we can use JIRA.
For example within a JIRA project we track both software related issues but also business issues. Thus when a user tries to enter in an issue at the moment they are presented with a choice of 15 different types.
This makes the JIRA experience much more frustrating for the user and it would be great if this issue could be scheduled in future releases.

Neal Applebaum - 18/Sep/06 08:42 AM
What I do (aside from limiting issue types per project) is create links on the homepage so the users don't use the Create Issue menu operation. For example, although I allow 2 issue types in our support projects, I encourage our clients to only choose one, because on their homepage I have a text portlet with a link to create the issue using instructions provided here. Of course, I can't stop them from choosing the issue type I don't want them to.

Hey Atlassian - on this site, if we try to create a Support Request, we are re-directed to a page telling us we can't (although Atlassian can move the issue to that type).

Support Requests are no longer handled by this system.

Maybe if you explain how you achieved this, the watchers of this issue could implement the same method, at least in part solving the problem.


Nick Menere [Atlassian] - 19/Sep/06 12:53 AM
Neal,

This is a bit of a hack:

  1. Create a Edit Message Custom Field
  2. Add the Issue type to the context
  3. Add the custom field to the create screen.
  4. Change the default value of the custom field to something like:
    <div class="infoBox">
    Your message....
    </div>
    
    <script language="JavaScript"> 
    
    <!-- 
    
    function disableCreate()  
    
    { 
    
        var inps = document.getElementsByTagName('INPUT'); 
    
        for (i = 0; i < inps.length; i++)  
    
        { 
    
            if (inps[i].type == 'submit')  
    
            { 
    
                inps[i].style.display = 'none'; 
    
            } 
    
        } 
    
    } 
    
     
    if (location.pathname.indexOf("CreateIssue") != -1) {
        window.onload = disableCreate; 
    }
    
    //--> 
    
    </script>
    

This will disbale the button and display the box.

Cheers,
Nick


Neal Applebaum - 19/Sep/06 05:58 PM
Thanks, Nick.

Hack or not, it's very kewl. Works great. I have a support project where clients can enter support requests and now I have a way of preventing them from creating Bugs, but still make it possible for us to change a Support Request to a Bug (the opposite of what you're doing on jira.atlassian).


pierre-yves voirol - 04/Dec/06 10:35 AM
Hi all,

we need this functionnality too.

any "delivery date" ? ( next year, next century ? )

cheers,
pierre-yves


Nick Menere [Atlassian] - 10/Dec/06 09:40 PM
Sorry Pierre-Yves. No schedule for this yet. We only schedule the next release.

Cheers,
Nick


marco kundert - 05/Jul/07 08:01 AM - edited
Thanks, Nick

I don't know if I understand your hack the right way.
I'v done everything like you mentioned, but now NOBODY can create this Issue Type ("change request" in my case). But I want to allow creating "change requests" to the group "business analysts".
If I wan't to disallow an Issue type for a project anyway, then I can configure this with the new feature you introduced a few month ago. So where is the advantage of you hack?

Marco


Neal Applebaum - 05/Jul/07 08:49 AM
Marco,

The hack is useful (to me anyway) in that even though no-one can create certain issue types for some projects, we can grant the "Move" permission to certain users that will allow only them to move the issue from one type to another.


marco kundert - 06/Jul/07 05:16 AM
@Neal, hmmm ok maybe this makes sense, if both Issue Types you are moving from has the same fields, but this is not the case for me...

It drives our BA's and development team crazy if everybody can create "his" change request!

Anyway, ovously there are still nothing I can do, except waiting for atlassion implementing this feature


Andrea Schuhmann - 09/Jul/07 06:23 AM
Yes we need this feature too.
We need to restrict Issue types within a project to specific user groupls.

Guillaume Marchand - 09/Jul/07 07:01 AM
Yes For my enterprise, this feature is important too ,
we need to restrict Issue type for groups, for example business teams, and technical team

Thanks for advance


marco kundert - 10/Jul/07 06:32 AM
Hack for the Hack
With this enhancement, the script does what I want:

<div class="infoBox">
Only business analysts can create change requests!
</div>

<script language="JavaScript">

<!--

function getElementsByClassName(strClass, strTag, objContElm) {
strTag = strTag || "*";
objContElm = objContElm || document;
var objColl = objContElm.getElementsByTagName(strTag);
if (!objColl.length && strTag == "*" && objContElm.all) objColl = objContElm.all;
var arr = new Array();
var delim = strClass.indexOf('|') != -1 ? '|' : ' ';
var arrClass = strClass.split(delim);
for (var i = 0, j = objColl.length; i < j; i++) {
var arrObjClass = objColl[i].className.split(' ');
if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
var c = 0;
comparisonLoop:
for (var k = 0, l = arrObjClass.length; k < l; k++) {
for (var m = 0, n = arrClass.length; m < n; m++) {
if (arrClass[m] == arrObjClass[k]) c++;
if ((delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) { arr.push(objColl[i]); break comparisonLoop; }
}
}
}
return arr;
}

function disableCreate()

{
var users = new Array ("john jonson", "Eric jonson", "marco simon", "Administrator" );

var myObjColl = getElementsByClassName("toptext", "font" );

var bolHide = 0;

for (i = 0; i < users.length;i++)
{
if ( myObjColl[0].innerText.indexOf(users[i]) != -1 )

{ bolHide = 1; break; }

}
if ( bolHide == 0 )
{
var inps = document.getElementsByTagName('INPUT');

for (i = 0; i < inps.length; i++)

{

if (inps[i].type == 'submit')

{ inps[i].style.display = 'none'; }

}
}

}

if (location.pathname.indexOf("CreateIssue") != -1) { window.onload = disableCreate; }

//-->

</script>


Nina Engels - 26/Jul/07 02:18 AM
Hi, we need this feature too, it would be great if we you can provide this without "hacks" . Till then, we will try with your proposal...

Cheers,
Nina Engels


Joey Potter - 06/Aug/07 04:07 AM
Hi,

Our process does not allow customers to create or view issues of certain issue types, either.
So, dear Atlassian team, please consider implementing this feature

Best regards,
Joey


AJ - 10/Sep/07 11:52 PM
Marco,

I am trying to use the code sample that you have supplied at the above link. I have tried your below code and it does NOT seem to work. The create button is still active , when the info message is displayed. Do you specify individual users who have or do not have access into the issue type? What abouts groups ? Can i specify a group name instead of a user name?

You help would be greatly appreciated.

Regards,

Below is the sample code that i am trying to use. Is this code right or is it missing something??

<div class="infoBox">
Only business analysts can create change requests!
</div>
<script language="JavaScript">
<!--
function getElementsByClassName(strClass, strTag, objContElm) {
strTag = strTag || "*";
objContElm = objContElm || document;
var objColl = objContElm.getElementsByTagName(strTag);
if (!objColl.length && strTag == "*" && objContElm.all) objColl = objContElm.all;
var arr = new Array();
var delim = strClass.indexOf('|') != -1 ? '|' : ' ';
var arrClass = strClass.split(delim);
for (var i = 0, j = objColl.length; i < j; i++) {
var arrObjClass = objColl[i].className.split(' ');
if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
var c = 0;
comparisonLoop:
for (var k = 0, l = arrObjClass.length; k < l; k++) {
for (var m = 0, n = arrClass.length; m < n; m++) {
if (arrClass[m] == arrObjClass[k]) c++;
if ((delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) { arr.push(objColl[i]); break comparisonLoop; }
}
}
}
return arr;
}
function disableCreate()
{
var users = new Array ("john jonson", "Eric jonson", "marco simon", "Administrator" );
var myObjColl = getElementsByClassName("toptext", "font" );
var bolHide = 0;
for (i = 0; i < users.length;i++)
{
if ( myObjColl[0].innerText.indexOf(users[i]) != -1 )

{ bolHide = 1; break; }

}
if ( bolHide == 0 )
{
var inps = document.getElementsByTagName('INPUT');
for (i = 0; i < inps.length; i++)
{
if (inps[i].type == 'submit')

{ inps[i].style.display = 'none'; }

}
}
}
if (location.pathname.indexOf("CreateIssue") != -1) { window.onload = disableCreate; }
//-->
</script>


Stephen Tan - 12/Sep/07 11:58 AM
The following code works for me. Using the Message Custom Field (for edit), place the code in the default value. Change the group to your preference.
#if ($authcontext.user.inGroup('employees'))
##do nothing
#else
<div class="infoBox">
This issue type is for internal use only.
</div>

<script language="JavaScript">
<!--
function disableCreate()
{
var inps = document.getElementsByTagName('INPUT');
for (i = 0; i < inps.length; i++)
{
if (inps[i].type == 'submit')
{
inps[i].style.display = 'none';
}
}
}

if (location.pathname.indexOf("CreateIssue") != -1) {
window.onload = disableCreate;
}

//-->
</script>

#end

Sarah Woodhouse - 14/Sep/07 05:56 AM
My company would also find this feature very useful. The beta testers for our software have access to our JIRA projects and there are certain issue types that we only want to be used by internal staff members. It would be extremely useful to have the ability to limit the issue types visible on a per-group basis.

Ben Jones - 18/Sep/07 08:39 PM
Hi Stephen,
I tried your code solution above with the additional

#if ($authcontext.user.inGroup('employees'))
##do nothing
#else

lines of code but it doesn't work. JIRA doesn't seem to execute just that portion of the code. The javascript works fine. Any ideas?


Ejner Jensen - 02/Oct/07 10:13 AM - edited
Hi Ben,

Are you using this type of custom field: "Velocity processed Message Custom Field (for edit)"?


Erwin Glassée - 12/Feb/08 08:23 AM
Hi,

Would like an implementation of this feature as well.

Have you considered the alternative of implementing conditions on the initial action in the workflow in the same way as conditions on all other actions in the workflow ?

or does this impact the OS workflow engine ?

Regards,

Erwin.


Payal Agarwal - 28/Feb/08 07:57 AM
I am using JIRA version 3.12.1 . I would also like to have this feature . It is something that my organisation iwll be please once we have it . Also I Read the code above it makes sense to me , but unfortunately I do not know where to put it . I am a commercial license holder and have asked to get full access to the JIRA code. If you could narrow down and let me know where teh code should be put in , it will be great .

Thanks and Regards
Payal


Guillaume Marchand - 28/Feb/08 08:00 AM
Bonjour, je serai de retour le 25 Décembre 2050. Je ne peux pas lire votre e-mail pour le moment.

Neal Applebaum - 28/Feb/08 12:46 PM

25 Décembre 2050

I guess he is taking a LOOOONG vacation


Erin Spiceland - 03/Mar/08 05:01 PM
We'd love to see this implemented in the next release. The company I work for is using JIRA Enterprise 3.12.2 with a Commercial license and we could really use this functionality without having to employ the aforementioned hack that requires an extra step in the creation process.

Malathi Thangavelu - 10/Mar/08 12:14 PM
HI

Even our enterprise would be more happy to see this enhancement.
Meanwhile , as per Payal's question, please can you let us know where we have to add this snippet of code
to effect.

Thanks.


Christian Ebert - 17/Mar/08 04:55 AM
Hi,

we need that also. We have a project where customers can submit feature request. But also within this project we have internal issue types we use for aggregation, clustering and version planning. Customers should not be able to create, edit & see issues with these issue types.

Thanks


Paul Csapo - 17/Mar/08 05:42 AM
Dear Atlassian,
JIRA seems to be highly customisable regarding Issue Types, workflows, forms etc, so it would be very handy if we could also be able to control permissions on Issue Types too.

regards,
Paul


Joanne cooper - 02/Apr/08 08:23 PM
Hi There,

Re the external customer issue - we would be happy for the ability to set permissions even on a version level that way you can open up a version for example 'Beta Testing' to an external client for viewing whilst keeping the rest of the project invisible to them. We have this problem quite a bit . Thanks, Jo


Carol Paige - 17/Jul/08 05:33 PM
Maybe associating a issue type per project role might be interesting ?????