有没有一种方法可以获取具有统一名称分隔键的映射的名称空间?
例如:
pipeline{
agent { label 'Jenkins-slave' }
stages {
stage('Clone Ansible'){
steps {
echo 'Cloning Ansible to ansible'
git changelog: false, credentialsId: 'buildbot-pk', poll: false, url: 'git@github.com:myrepo/ansible.git'
}
}
stage('Run Ansible'){
steps {
ansiblePlaybook colorized: true, credentialsId: 'root-production', disableHostKeyChecking: true, inventory: 'myinventory', playbook: 'myplaybook.yml', tags: 'mytag'
}
}
}
}
答案 0 :(得分:1)
如果映射不为空并且其所有键都具有相同的名称空间,则满足以下条件:
(def map-ns (comp namespace first keys))
或者:
(def map-ns (comp namespace ffirst))
以下是当地图为空或具有不同命名空间的键时返回nil
的版本:
(def map-ns
(comp
#(if-not (next %) (first %))
distinct
(partial map namespace)
keys))
或者:
(def map-ns
(comp
#(if-not (next %) (first %))
distinct
(partial map (comp namespace key))))
答案 1 :(得分:1)
(->> m keys (map namespace) set)
以上将为您提供所有名称空间的集合,或者如果size> 1,则可以返回nil。