2014-01-07 1 views
0

내 Artifactory에 3 개의 Repo가 있고 플러그인을 통해 Artifacts의 움직임을 처리하고 싶습니다. 하나의 Repo에서 특정 Repo 로의 이동을 제한하는 Artifactory 용 Groovy 플러그인

1. Build-repo 
2. Testing-repo 
3. Prod-repo 

다른 REPO (Testing-repo) 만 한 리포 (Build-repo)에서 유물의 이동을 허용하는 플러그인을 만들려고. 내가 마찬가지로 Prod-repo

Testing-repo -> Prod-repo

beforeMove { item, targetRepoPath, properties -> 
     log.debug("ENTER storage -> beforeMove") 
     if (!security.isAdmin() && item.repoKey.equals("Build-repo")) { 
     if (item.targetRepoKey.equals("Prod-repo")) { 
        throw new CancelException("Artifact Move not permitted for ${item.repoKey}: ", 403) 
      } 
    } 
     log.debug("EXIT storage -> beforeMove") 

Build-repo에서 직접 이동하는 개발자를 중지해야하지만이 오류가 발생, 이것은 단지 속성의 사용과 문제가 될 수 있습니다. Groovy 플러그인을 사용하기위한 전체 등록 정보 목록을 얻으려면 어떻게해야합니까?

Caused by: groovy.lang.MissingPropertyException: No such property: targetRepoKey for class: org.artifactory.model.xstream.fs.FileInfoImpl 

답변

1

오류가 나타내는 속성은 Artifactory 속성이 아니라 Groovy 객체 속성입니다. 4 번 줄에는 item.targetRepoKey이 있고 item.repoKey이어야합니다.

적절한 IDE (IntelliJ IDEA)를 사용하고 코드에 trypes를 사용하는 것이 좋습니다. 라인 1은 다음과 같아야합니다

beforeMove { FileInfo item, RepoPath taretRepoPath, Properties properties ->

하는 것은 이러한 오류로 어려움을 겪고 당신에게 시간을 절약 할 수있다.

관련 문제