import org.elasticsearch.gradle.OS import org.gradle.initialization.BuildRequestMetaData import java.util.concurrent.TimeUnit long startTime = project.gradle.services.get(BuildRequestMetaData.class).getStartTime() buildScan { URL jenkinsUrl = System.getenv('JENKINS_URL') ? new URL(System.getenv('JENKINS_URL')) : null String buildNumber = System.getenv('BUILD_NUMBER') String buildUrl = System.getenv('BUILD_URL') String jobName = System.getenv('JOB_NAME') String nodeName = System.getenv('NODE_NAME') tag OS.current().name() if (jobName) { value 'Job name', jobName } if (buildNumber) { value 'Job number', buildNumber } if (jenkinsUrl?.host?.endsWith('elastic.co')) { publishAlways() buildScan.server = 'https://gradle-enterprise.elastic.co' } if (nodeName) { link 'System logs', "https://infra-stats.elastic.co/app/infra#/logs?" + "&logFilter=(expression:'host.name:${nodeName}',kind:kuery)" buildFinished { link 'System metrics', "https://infra-stats.elastic.co/app/infra#/metrics/host/" + "${nodeName}?_g=()&metricTime=(autoReload:!f,refreshInterval:5000," + "time:(from:${startTime - TimeUnit.MILLISECONDS.convert(5, TimeUnit.MINUTES)},interval:%3E%3D1m," + "to:${System.currentTimeMillis() + TimeUnit.MILLISECONDS.convert(5, TimeUnit.MINUTES)}))" } } // Jenkins-specific build scan metadata if (jenkinsUrl) { tag 'CI' tag jobName link 'Jenkins Build', buildUrl link 'GCP Upload', "https://console.cloud.google.com/storage/elasticsearch-ci-artifacts/jobs/${jobName}/build/${buildNumber}.tar.bz2" System.getenv().getOrDefault('NODE_LABELS', '').split(' ').each { value 'Jenkins Worker Label', it } // Add SCM information def isPrBuild = System.getenv('ROOT_BUILD_CAUSE_GHPRBCAUSE') != null if (isPrBuild) { value 'Git Commit ID', System.getenv('ghprbActualCommit') value 'Git Branch', System.getenv('ghprbTargetBranch') tag System.getenv('ghprbTargetBranch') tag "pr/${System.getenv('ghprbPullId')}" tag 'pull-request' link 'Source', "https://github.com/elastic/elasticsearch/tree/${System.getenv('ghprbActualCommit')}" link 'Pull Request', System.getenv('ghprbPullLink') } else { if (System.getenv('GIT_BRANCH')) { def branch = System.getenv('GIT_BRANCH').split('/').last() value 'Git Branch', branch tag branch } if (System.getenv('GIT_COMMIT')) { value 'Git Commit ID', System.getenv('GIT_COMMIT') link 'Source', "https://github.com/elastic/elasticsearch/tree/${System.getenv('GIT_COMMIT')}" background { def changes = "git diff --name-only ${System.getenv('GIT_PREVIOUS_COMMIT')}..${System.getenv('GIT_COMMIT')}".execute().text.trim() value 'Git Changes', changes } } } } else { tag 'LOCAL' } }