Open sani-d opened 3 weeks ago
def issueKey = issue.key logger.info(issueKey)
def toStatusArray = [ "In Progress", "CODE REVIEW", "PR APPROVED", "READY FOR TESTING", "IN TESTING", "DEPLOYING", "BUSINESS REVIEW", "RELEASE PAYLOAD", "DEPLOYED TO PROD", "MANUAL REGRESSION", "DONE", "CLOSED", "BLOCKED", "READY (DOR)", "DRAFT", "IN REFINEMENT", "INVESTIGATION", "PRIORITISED" ]
def issueType = issue.fields.issuetype?.name def component = issue.fields.components?.collect { it.name }?.join(", ") // Handle components as a list def fixVersion = issue.fields.fixVersions?.collect { it.name }?.join(", ") // Handle fixVersions as a list
logger.info("Issue Type: ${issueType}") logger.info("Component: ${component}") logger.info("Fix Version: ${fixVersion}")
for (item in changelog.items) { logger.info("Field: ${item.field}") if (item.field == "status") { def fromStatus = item.fromString def toStatus = item.toString logger.info("From: ${fromStatus}, To: ${toStatus}")
def statusTransitionCheck = toStatusArray.contains(toStatus) logger.info("Status Transition Check: ${statusTransitionCheck}") logger.info("Issue Type Check: ${issueType == 'Story'}") logger.info("Component Check: ${component == 'Backend'}") logger.info("Fix Version Check: ${fixVersion == null || fixVersion.isEmpty()}") if (statusTransitionCheck && issueType == "Story" && component == "Backend" && (fixVersion == null || fixVersion.isEmpty())) { def response = put("/rest/api/3/issue/${issueKey}") .header('Content-Type', 'application/json') .body([ fields: [ fixVersions: [[name: "BACKEND_CONTINUOUS_DELIVERY"]] ] ]) .asObject(Map) // Handle response if (response.status == 200 || response.status == 204) { logger.info("Fix version updated successfully.") } else { logger.error("Failed to update fix version. Status code: ${response.status}, Response body: ${response.body}") } } }
}
def issueKey = issue.key logger.info(issueKey)
def toStatusArray = [ "In Progress", "CODE REVIEW", "PR APPROVED", "READY FOR TESTING", "IN TESTING", "DEPLOYING", "BUSINESS REVIEW", "RELEASE PAYLOAD", "DEPLOYED TO PROD", "MANUAL REGRESSION", "DONE", "CLOSED", "BLOCKED", "READY (DOR)", "DRAFT", "IN REFINEMENT", "INVESTIGATION", "PRIORITISED" ]
def issueType = issue.fields.issuetype?.name def component = issue.fields.components?.collect { it.name }?.join(", ") // Handle components as a list def fixVersion = issue.fields.fixVersions?.collect { it.name }?.join(", ") // Handle fixVersions as a list
logger.info("Issue Type: ${issueType}") logger.info("Component: ${component}") logger.info("Fix Version: ${fixVersion}")
for (item in changelog.items) { logger.info("Field: ${item.field}") if (item.field == "status") { def fromStatus = item.fromString def toStatus = item.toString logger.info("From: ${fromStatus}, To: ${toStatus}")
}