I am constructing a Shared Library which I want to have class definitions, such as:
package com.org.pipeline.aws
String family
JsonObject taskDefinition
class TaskDefinition {
def getTaskDefinition(family) {
def jsonSlurper = new groovy.json.JsonSlurper()
def object = slurper.parseText(
sh(returnStdout: true,
script: "aws ecs describe-task-definition --task-definition ${family}"
)
)
return assert object instanceof Map
taskDefinition = object["taskDefinition"]
}
}
And I am importing it via a separate git repository
library identifier: 'jenkins-shared-libraries@master', retriever: modernSCM(
[$class: 'GitSCMSource',
remote: 'ssh://git@bitbucket.org.net/smar/jenkins-shared-libraries.git',
credentialsId: 'jenkins-bitbucket-ssh-private-key'])
pipeline {
agent any
stages {
stage('Build') {
steps {
script {
def z = new com.org.pipeline.aws.TaskDefinition()
withAWS(region: 'ap-southeast-1', credentials: 'awsId') {
z.getTaskDefinition("web-taskdef")
}
}
}
}
}
}
But it keeps giving me this error: unable to resolve class com.org.pipeline.aws.TaskDefinition()
. Any idea why?