2014-01-07 71 views
0

我在我的Artifactory有3個回購,並且想要通過插件處理Artifacts的移動。Artifactory的Groovy插件限制從一個回購移動到特定的回購

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

試圖建立一個插件,以便神器地從一個回購(Build-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") 

但我得到一個錯誤,這可能僅僅是與物業的使用率問題。如何獲取使用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 ->

,可以節省您的時間與這樣的錯誤掙扎。

相關問題