2017-02-02 15 views
1

私はjenkins uiを変更するためにカスタムCSSを使用しようとしており、userContentフォルダにCSSファイルを追加してhttps://wiki.jenkins-ci.org/display/JENKINS/Simple+Theme+Pluginをインストールしました。 jenkinsの設定ページに移動して、テーマのCSSのURLを更新できます。私はgroovy経由でこれを自動化しようとしていますが、適切なAPIを手に入れていません。これを行うことさえ可能ですか?groovy経由でjenkinsのテーマCSSのURLを更新するには?

答えて

2

あなたは(それをリセットするか、null)URL文字列のいずれかにSimpleThemeDecoratorcssUrlまたはjsUrlプロパティを設定することができます。変更はただちに有効になります。

for (pd in PageDecorator.all()) { 
    if (pd instanceof org.codefirst.SimpleThemeDecorator) { 
    pd.cssUrl = 'https://...' 
    } 
} 
+0

おかげ@Christopher。 Bdwは、プラグインAPIを取得する最も良い方法は何ですか。プラグインを呼び出すために使用できる唯一のクラスとともにパッケージ名を使用したことがわかります。 –

+0

@user_dev [プラグインソースコード](https://github.com/jenkinsci/simple-theme-plugin/)を見ましたが、[拡張ポイントリスト](https://wiki.jenkins -ci.org/display/JENKINS/Extension+points)。 –

0

別のアプローチ:

import jenkins.model.Jenkins 

YELLOW = '\u001B[33m'; 
RESET = '\u001B[0m'; 

def configSimpleTheme(def descriptor, String cssUrl, String jsUrl) { 
    if (!(cssUrl == null || cssUrl.trim().isEmpty())) { 
     println("${YELLOW}Setting up css style: ${cssUrl.trim()}${RESET}") 
     descriptor.cssUrl = cssUrl.trim() 
    } 
    if (!(jsUrl == null ||jsUrl.trim().isEmpty())) { 
     println("${YELLOW}Setting up js: ${jsUrl.trim()}${RESET}") 
     descriptor.jsUrl = jsUrl.trim() 
    } 
    descriptor.save() 
} 

def jenkinsThemeCSS = System.getenv('JENKINS_THEME_CSS') ?: null 
def jenkinsThemeJS = System.getenv('JENKINS_THEME_JS') ?: null 

def themeDecorator = Jenkins.getInstance().getDescriptor("org.codefirst.SimpleThemeDecorator") 
configSimpleTheme(themeDecorator, jenkinsThemeCSS, jenkinsThemeJS) 
関連する問題