Project Permission Scheme

Maahshid Vaziri August 17, 2022

Hello, I have written a script file on Automation that if one of the fields of the project (Project Status) is updated, then the permission scheme of the project will also change. But it does not work :(

Could you Help me?

 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.project.Project
import com.deiser.jira.profields.api.field.FieldService
import com.deiser.jira.profields.api.field.item.status.StatusItemService
import com.deiser.jira.profields.api.field.status.StatusField
import com.deiser.jira.profields.api.value.ValueService
import com.onresolve.scriptrunner.runner.customisers.WithPlugin

@WithPlugin("com.deiser.jira.profields")
Project project = ComponentAccessor.getProjectManager().getProjectByCurrentKey("FBSW3120");
def valueService = ComponentAccessor.getOSGiComponentInstanceOfType(ValueService.class)
def fieldService = ComponentAccessor.getOSGiComponentInstanceOfType(FieldService.class)
def statusItemService = ComponentAccessor.getOSGiComponentInstanceOfType(StatusItemService.class)
def statusField = (StatusField) fieldService.get(1)

if(statusField == "IN PRODUCTION")
    {
    String permissionScheme = "In-Production Projects Permission Scheme"
    ComponentAccessor.getPermissionSchemeManager().removeSchemesFromProject(project)
    ComponentAccessor.getPermissionSchemeManager().addSchemeToProject(project,    ComponentAccessor.getPermissionSchemeManager().getSchemeObject(permissionScheme))
    }

1 answer

1 accepted

0 votes
Answer accepted
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 17, 2022

I think you've got two problems here.

The obvious one is that your code, if it were to work, would trash your project.   The "remove schemes" call removes all schemes.

The less obvious one is that admin actions such as changing schemes are protected, limited to those who have admin rights.  Your script is not being run by an admin.

I'd also want to question why you're doing this - a reconfiguration of a project is not something you would usually want to automate.

Maahshid Vaziri August 17, 2022

Dear @Nic Brough -Adaptavist- 

Thanks for your reply, Ops I didn't know the "delete plans" call deletes all plans, what should I do? Is there an alternative class?

And for your last question, we have many projects whose status has been changed by the project manager, not Jira Admin, we want to automatically track and update all projects based on status.

Suggest an answer

Log in or Sign up to answer