Skip to content

Instantly share code, notes, and snippets.

View vikrantyadav11's full-sized avatar
🏠
Working from home

vikrantyadav11

🏠
Working from home
View GitHub Profile
@vikrantyadav11
vikrantyadav11 / Get JIRA users_lastlogin_Name_email_status.groovy
Last active November 1, 2023 16:32
Use this script in Script Console to get the list of all users. True for Active Users and False for Inactive users.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.login.LoginManager
import java.text.SimpleDateFormat;
import java.util.Date;
import com.atlassian.jira.user.util.UserUtil
UserUtil userUtil = ComponentAccessor.getUserUtil()
def loginManager = ComponentAccessor.getComponentOfType(LoginManager.class)
//def users=ComponentAccessor.UserManager.getAllApplicationUsers()
def groupManager = ComponentAccessor.getGroupManager()
@vikrantyadav11
vikrantyadav11 / Update Fix Version.groovy
Created April 27, 2021 05:17
Update Fix Version of Linked issue using Scripted Listener
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.issue.link.IssueLinkManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.project.version.Version
import com.atlassian.jira.event.type.EventDispatchOption
import java.time.LocalDateTime
@vikrantyadav11
vikrantyadav11 / No of Sub-tasks.groovy
Created April 27, 2021 05:24
Scripted Field to get number of sub-task created under parent issue
if (issue.getIssueType().name != "Sub-task") { // only calculate this for non-subtask issues
def subTaskSum = 0
issue.getSubTaskObjects()?.each { subtask -> // go through all subTask issues
subTaskSum += 1
}
return subTaskSum
}
@vikrantyadav11
vikrantyadav11 / Time in a status.groovy
Created April 27, 2021 05:29
Calculate TIme in a Status
import com.atlassian.jira.component.ComponentAccessor
def changeHistoryManager = ComponentAccessor.changeHistoryManager
def currentStatusName = issue?.status?.name
def rt = [0L]
changeHistoryManager.getChangeItemsForField (issue, "status").reverse().each {item ->
def timeDiff = System.currentTimeMillis() - item.created.getTime()
if (item.fromString == currentStatusName) {
@vikrantyadav11
vikrantyadav11 / Overall Completion.groovy
Created April 27, 2021 05:37
Set scripted custom field value depending on other custom field selection
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.component.ComponentAccessor;
def member = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Member Rec")
def invest = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Investment")
def debit_creditor = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Debtor/Creditor")
def client_monies = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Client Monies")
def contributions = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Contributions")
def transfer_in = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Transfer In")
@vikrantyadav11
vikrantyadav11 / System Priority Field.groovy
Created April 27, 2021 05:47
Restrict System priority field values using Script Runner behaviour
import com.atlassian.jira.component.ComponentAccessor
import static com.atlassian.jira.issue.IssueFieldConstants.*
def formField = getFieldById(PRIORITY)
def optionsMap = ComponentAccessor.getConstantsManager().getPriorities().findAll { priority ->
priority.getName() in ["Major", "Minor", "Trivial"]
}.collectEntries {
[(it.id): it.name]
}
@vikrantyadav11
vikrantyadav11 / Hide old Issue type.groovy
Created April 27, 2021 05:48
Hide old issue types which are not in use using Script Runner Behaviour
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import static com.atlassian.jira.issue.IssueFieldConstants.ISSUE_TYPE
def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
def allIssueTypes = ComponentAccessor.constantsManager.allIssueTypeObjects
def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def issueTypeField = getFieldById(ISSUE_TYPE)
@vikrantyadav11
vikrantyadav11 / Custom Values Behaviour.groovy
Created April 27, 2021 05:56
Set Second field value based on First Select List custom field value using Behaviour
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@vikrantyadav11
vikrantyadav11 / Field Value based on Issue Type.groovy
Created April 27, 2021 05:58
Set custom field value based on Issue type selection using Script Runner behavior
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.*
def issuetype = getIssueContext().getIssueType().name
def selectcf = getFieldByName("Sub-type")
selectcf.setFormValue(null)
@vikrantyadav11
vikrantyadav11 / Message on Create Issue Screen.groovy
Created April 27, 2021 06:00
Set Message on Create Issue Screen under any field using Behavior
if(getFieldScreen().name == "SPMP: Scrum Default Issue Screen")
getFieldById("reporter").setDescription("""
<div class="aui-message aui-message-warning" style="color: black;">
<p class="title">IMPORTANTE!</p>
<p style="font-size:15px"> Por favor no hacer alusión ni adjuntar ningún tipo de información que pueda ser confidencial. Si necesitas enviar algún fichero remítelo a la siguiente dirección indicando el número de jira: direccionmedica@mercer.com</p>
</div>
""")