Bhavya-org / Scripts

0 stars 0 forks source link

2024-06-04 11:30:52.259 ERROR - No such property: issuekey for class: Script1 on line 12 2024-06-04 11:30:52.278 ERROR - Class: com.adaptavist.sr.cloud.events.WebhookExecution, Config: null #21

Open sani-d opened 3 weeks ago

sani-d commented 3 weeks ago

import groovy.json.JsonBuilder

def issueKey = issue.key def summary = issue.fields.summary def riskRating = issue.fields.customfield_11139?.value def technicalDomain = issue.fields.customfield_11143?.value def businessDomain = issue.fields.customfield_11142?.value def disclosureSource = issue.fields.customfield_11161?.value def environment = issue.fields.customfield_11813?.value def webhookUrl = 'https://hooks.slack.com/services/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'

def msg = [ text: """New Vulnerability ticket with Proposed Risk Acceptance status https://tideaccount.atlassian.net/browse/${issueKey} | ${summary} > ${issuekey} Risk Rating is: ${riskRating} Technical Domain: ${technicalDomain} Business Domain: ${businessDomain} Disclosure Source: ${disclosureSource} Risk Environment: ${environment} """ ]

def postBody = new JsonBuilder(msg).toString()

def status = issue.fields.status.name logger.info(status) def toStatusArray = ["Proposed Risk Acceptance"]

// Assuming changelog is correctly populated elsewhere in your script for (item in changelog.items) { logger.info(item.field) if (item.field == "status") { if (toStatusArray.contains(item.toString) && status == "Proposed Risk Acceptance") { def response = post(webhookUrl) .header('Content-Type', 'application/json') .body(postBody) .asString()

        if (response.status != 200) {
            println("Failed to send Slack notification: ${response.status} - ${response.body}")
        }
    }
}

}

Bhavya-ss commented 3 weeks ago

import groovy.json.JsonBuilder

def issueKey = issue.key def summary = issue.fields.summary def riskRating = issue.fields.customfield_11139?.value def technicalDomain = issue.fields.customfield_11143?.value def businessDomain = issue.fields.customfield_11142?.value def disclosureSource = issue.fields.customfield_11161?.value def environment = issue.fields.customfield_11813?.value def webhookUrl = 'https://hooks.slack.com/services/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'

def msg = [ text: """New Vulnerability ticket with Proposed Risk Acceptance status https://tideaccount.atlassian.net/browse/${issueKey} | ${summary} > ${issueKey} Risk Rating is: ${riskRating} Technical Domain: ${technicalDomain} Business Domain: ${businessDomain} Disclosure Source: ${disclosureSource} Risk Environment: ${environment} """ ]

def postBody = new JsonBuilder(msg).toString()

def status = issue.fields.status.name logger.info(status) def toStatusArray = ["Proposed Risk Acceptance"]

if (changelog && changelog.items) { for (item in changelog.items) { logger.info(item.field) if (item.field == "status") { if (toStatusArray.contains(item.toString) && status == "Proposed Risk Acceptance") { def response = post(webhookUrl) .header('Content-Type', 'application/json') .body(postBody) .asString()

            if (response.status != 200) {
                println("Failed to send Slack notification: ${response.status} - ${response.body}")
            }
        }
    }
}

} else { logger.warn("Changelog is not populated or items are missing.") }