Hello
I have, 2 months ago, implemented a Script Post-Function with Scriptrunner where I was accessing Profield plugin from Deiser.
It looks like as follow ...
import com.deiser.jira.profields.api.project.SearchService
import com.deiser.jira.profields.api.value.ValueService
import com.deiser.jira.profields.api.field.FieldService
import com.deiser.jira.profields.api.field.Field
import com.deiser.jira.profields.api.field.item.list.ListItem
import com.deiser.jira.profields.api.field.item.list.ListItemService
import com.deiser.jira.profields.api.field.textmultiple.TextMultipleField
import com.deiser.jira.profields.api.field.list.multiple.ListMultipleField
...
class MyClass {
@PluginModule
static FieldService fieldService
@PluginModule
static ValueService valueService
@PluginModule
static SearchService searchService
@PluginModule
static ListItemService listItemService
ListMultipleField projectModelField
def String getProjectModel (Project _project) {
String projectModel = null;
def List<ListItem> projectModelFieldItems = valueService.getValue(_project, projectModelField)
if (projectModelFieldItems.size() > 0) {
projectModel = projectModelFieldItems.iterator().next().value
}
return projectModel
}
...
}
This morning, since I had to build new process with a similar implementation, I have accessed the active workflows in order to extract the Post-Function Script as model.
And strange, the script was marked in error as described in https://community.atlassian.com/t5/Jira-questions/Script-runner-access-fields-from-Profields-plugin/qaq-p/738235
The feature was always operational, and no error was reported by our users.
I have then edited the Workflow in order to understand the root cause of errors.
Without explanation, I tried to reproduce the error in a Dev. envinronment. It was the same.
Then, since I did not have used the @WithPlugin annotation, I decided to implement it.
I begin to write the correct syntaxe it on Scriptrunnner Console.
After having elaborate the correct script, I swicth to the Scriptrunner Post-Function, and surprise, there was no more error.
I have no idea about what could be the root cause of this behaviour. It is as if a 1st usage of @WithPlugin("com.deiser.jira.profields") caused a an availability of the component in any Scriptrunner scritps, in a cache. Since the previous restart of JIRA, the component was no more avaialble until a new usage of @WithPlugin("com.deiser.jira.profields").
In doubt, I have added the @WithPlugin("com.deiser.jira.profields") ... and I will se after next JIRA restart.
Any idea ?
Thanks by advance
Vincent
Hello @Vincent Thoulé _Alkaes_, it seems that you haven't used the function @WithPlugin("com.deiser.jira.profields") in the original script. This is mandatory to access add-on functions in Script Runner.
After you added it, does it work?
Hi David,
It is exact ... I did not have used the @WithPlugin annotation in this script, but in others (RestPoint), but it worked.
The error was displayed only when accessing the source code since a long time (after different restart).
I have added the annotation just today and will see how it will evolve.
It works for the moment.
My focus is also to understand why it worked without the annotation !
V.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I see your point @Vincent Thoulé _Alkaes_, I guess is something that our friends from Adaptavist can answer much better than us.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.