Jira: How to set Assignee to match parent's Custom Field Value - groovy

I'm using Jira and the Script Runner plugin to Create a sub-task on transition. That's all working well. However, I cannot seem to set the 'Assignee' of the Subtask to match the value of the 'Project Manager' listed on the parent (I believe this is a custom field). Below is what I am using, But it does not work. What is the correct way to write this?:
issue.assignee = transientVars["originalissueobject"].cfValues['Project Manager']

Try this:
issue.assignee= ApplicationUsers.toDirectoryUser(cfValues['Project Manager'])

ACG, I wasn't able to get your answer to work, but I found a very similar script here that worked perfectly! Thank you so much for your help!
import com.atlassian.jira.user.ApplicationUsers
cfParent = customFieldManager.getCustomFieldObjectByName('Project Manager')
parentMyFieldValue = transientVars["issue"].getCustomFieldValue(cfParent)
issue.setAssignee(ApplicationUsers.toDirectoryUser(parentMyFieldValue))
For those looking at this answer with a similar problem. Place this code in the "Additional Issue Action" Box within Script Runner's "Create Subtask" Post Function.

Related

Taurus PassFail Issues when testing Jmeter.jmx script

So I'm learning a little bit about Taurus and was trying to apply some pass fail criteria to my .jmx script. When I try to evaluate a specific sampler, it seems to not run the pass fail criteria at all, but if I were to do a simple avg-rt > 10s, continue as failed , this works, but the issue is I want to evaluate each sampler specifically.
Here is a screenshot of my .yml file
I was using this link as reference to follow but I can't seem to get it to work with my script.
https://dzone.com/articles/running-your-load-tests-with-pass-fail-criteria-a
Any help and advice would be appreciated :)
Thank you!
For me it seems to run pass/fail criteria
As you like screenshots here is the screenshot of Taurus YAML file:
And here is the screenshot of "test.jmx" which basically uses simple single Dummy Sampler:
Just in case here is the link to the official documentation of the subsystem: Pass/Fail Criteria
So the issue was that spaces matter lol.
rewriting it as avg-rt of first_navigate>1s, continue as failed does the trick :)

Initiate "Sys" object in vbs

i'm trying to do some stuff in vbscript, and i have to take a screenshot of the screen. I don't want to use an external executable (Auto Screenshot using VBS).
I find a vbs which can be nice (how to take screenshot by vbscript?) but when i use this, it use an object (Sys), but i don't know how to create it.
I find some resources here, but i really don't know how to initiate the object "Sys", apparently it's like already "in" the vbscript, but it doesn't works for me.
I tried some stuff (Set Sys = CreateObject("System") or things like that, but nothing works :(
I hope you'll find something ^^
The question you've referenced looks like a low-quality question. The references to "Sys" that you see appear to be in a product called TestComplete. See How to capture a screenshot using VBScript in TestComplete? You'd need to acquire and install TestComplete to use it, or find another program to capture screenshots instead.

Import Failure - Role With Id Does Not Exist

I am getting an import error in a specific environment with a managed CRM 2011 solution. The solution has been imported before into many other environments, but the one in particular where it is failing is throwing the following error:
Dependency Calculation
role With Id = 9e2d2d9b-645f-409f-b31d-3a9c39fcc340 Does Not Exist
I am a bit confused about this. I searched within the solution XML and was not able to find any reference to this particular GUID of 9e2d2d9b-645f-409f-b31d-3a9c39fcc340. I cannot really find it in SQL either, just wandering through the different tables, but perhaps I do not know exactly where to look there.
I have tried importing the solution multiple times. As a desperation effort, I tried renaming all of the security roles in the destination environment prior to importing, but this did not help.
Where is this reference to a security role actually stored? Is this something that is supposed to be within my solution--which my existing CRM deployment is expecting me to import?
How do I fix the problem so that I am able to import this solution?
This is the code we used to fix the issue. We had to run two different scripts. Script A we had to run a total of four times. Run it once, attempt the import, and then consult the log to find the role that is causing the problem--if you receive another error for another role.
To run script A, you must use a valid RoleTemplateId from your database. We just picked a random one. It should not matter precisely which one you use, because you will erase that data element with script B.
After all of the roles are fixed, we got a different error (complaining something about the RoleTemplateId was already related to a role), and had to run script B. That removes the RoleTemplateId from multiple different roles and sets it to NULL.
Script A:
insert into RoleBaseIds(RoleId)
values ('WXYZ74FA-7EA3-452B-ACDD-A491E6821234')
insert into RoleBase(RoleId
,RoleTemplateId
,OrganizationId
,Name
,BusinessUnitId
,CreatedOn
,ModifiedOn
,CreatedBy
)
values ('WXYZ74FA-7EA3-452B-ACDD-A491E6821234'
,'ABCD89FF-7C35-4D69-9900-999C3F605678'
,(select organizationid from Organization)
,'ROLE IMPORT FIX'
,(select BusinessUnitID from BusinessUnit where ParentBusinessUnitId is null)
,GETDATE()
,GETDATE()
,null
)
Script B:
update RoleBase
set RoleTemplateId = NULL
where RoleTemplateID='ABCD89FF-7C35-4D69-9900-999C3F605678'
Perfect solution, worked for me! My only comment would be the error in Script B: it shouldn't clear the template IDs of all roles for the given template, only the template ID of the newly created "fix" role, as follows:
update RoleBase
set RoleTemplateId = NULL
where RoleID='WXYZ74FA-7EA3-452B-ACDD-A491E6821234'
I would've gladly put this in a comment to the answer, but not enough rep as of now.

JIRA Groovy - Link issues from another project

We have a special Jira setup so that 1 Epic in our master project = 1 Jira project full of stories/bugs/etc (Governance/compliance wanted this)
Each Issue type has a custom column called 'Ideal days'
For each Epic to get the total estimated days we have a custom function that Sums all 'Ideal days' of issues linked to that Epic that are in the backlog (we manually do this).
With Groovy Runner can I auto-link all issues in a project (in the backlog) to an Epic? Thanks
If you want to link issues without cloning them, you should use IssueLinkManager.getLinkCollection().
The code should look something something like this:
IssueLinkManager issueLinkManager = ComponentManager.getInstance().getIssueLinkManager()
issueLinkManager.getLinkCollection(someIssue, yourUser).each() {
it.getOutwardIssues("Some Link Name")
}
There is a built-in script that clones an issue and links it. You should be able to link based on that code: https://jamieechlin.atlassian.net/wiki/display/GRV/Built-In+Scripts#Built-InScripts-Clonesanissueandlinks

Jelly script to reset the issue resolution in JIRA

I am trying to run a jelly script in JIRA to set the resolution to null for all my issues. The following script runs without errors and returns this:
<JiraJelly xmlns:jira='jelly:com.atlassian.jira.jelly.JiraTagLib' xmlns:log='jelly:log' xmlns:core='jelly:core' xmlns:jx='jelly:xml' xmlns:util='jelly:util'>org.ofbiz.core.entity.GenericValue.NULL_VALUEorg.ofbiz.core.entity.GenericValue.NULL_VALUEorg.ofbiz.core.entity.GenericValue.NULL_VALUE.... </JiraJelly>
Here is the script.
<JiraJelly xmlns:jira="jelly:com.atlassian.jira.jelly.JiraTagLib" xmlns:util="jelly:util" xmlns:core="jelly:core" xmlns:jx="jelly:xml" xmlns:log="jelly:log">
<jira:RunSearchRequest var="issues" />
<core:forEach var="genericIssue" items="${issues}">
<core:invokeStatic className="com.atlassian.jira.issue.IssueImpl" method="getIssueObject" var="issue">
<core:arg type="org.ofbiz.core.entity.GenericValue" value="${genericIssue}"/>
</core:invokeStatic>
<core:invoke on="${issue}" method="setResolution">
<core:arg type="org.ofbiz.core.entity.GenericValue">org.ofbiz.core.entity.GenericValue.NULL_VALUE</core:arg>
</core:invoke>
</core:forEach>
</JiraJelly>
Does any one have any idea why this isn't working or have any ideas on how I might set the resolution to nothing?
Thank you!!
Updating issues via jelly in JIRA is a bit broken. The best example of how to make it work that I've seen is by using ActionDispatcher as shown on the docs page in a comment by Alastair King.
I know it can be done with Jelly runner, but i thinks that this would be easier to do so using the Jira remote API or the Jira CLI. A more elaborated example of the Jira remote API can be found here. If anyone wants me to post a working source code feel free to ask.

Resources