2017-10-10 136 views
0

我想在我的管道中添加一個流程步驟,即從PTC Integrity檢出項目。代碼片段生成器中有一個用於簽入的示例,但它沒有正確構建,所以我無法將其用於定位。如何在Jenkins管道SCM步驟插件中登錄PTC Integrity

由於PTC Integrity沒有正確記錄用於SCM Step Plugin(儘管根據其可兼容性列表支持),但我不知道如何執行此操作。

我的第一步是找出是否有什麼是有誠信SCM類這條管道的腳本:

node { 
    checkout scm: [$class: 'IntegritySCM'] 
} 

,這將引發預期的IllegalArgumentException

java.lang.IllegalStateException: cannot call getRootUrlFromRequest from outside a request handling thread 
at jenkins.model.Jenkins.getRootUrlFromRequest(Jenkins.java:2366) 
at hudson.scm.IntegritySCM.<init>(IntegritySCM.java:113) 
Caused: java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:260) 
Caused: java.lang.IllegalArgumentException: Could not instantiate {serverConfig=d917f329-9826-4ffa-8bbd-de68271c4abd} 
for IntegritySCM(browser: IntegrityRepositoryBrowser{IntegrityWebUI(url: String)}, serverConfig: String, userName: String, password: String, configPath: String, includeList: String, 
excludeList: String, cleanCopy: boolean, lineTerminator: String, validCheckpoint: boolean, freezeMembers: boolean, noCheckout: boolean, 
restoreTimestamp: boolean, skipAuthorInfo: boolean, checkpointBeforeBuild: boolean, checkpointLabel: String, 
alternateWorkspace: String, fetchChangedWorkspaceFiles: boolean, deleteNonMembers: boolean, checkoutThreadPoolSize: int, configurationName: String) 

由此我可以得出結論:可以爲結帳命令給出哪些參數。 現在我的問題是,我如何在管道腳本中建立checkout命令?

只見SCM一步插件GitHub的頁面上,但對於善變這確實像這樣一個例子:

checkout scm: [$class: 'MercurialSCM', 'source': '....', clean: true...] 

但我不能這個申請完整性。例如。我不知道如何告訴命令我想結賬的項目的路徑。

回答

0

管道片斷生成器工具可用於爲管道支持的任何SCM類生成管道語法。你可以在這裏看看:https://jenkins.io/blog/2016/05/31/pipeline-snippetizer/

樣本管道段是這樣的:

checkout([$class: 'IntegritySCM', checkpointBeforeBuild: false, configPath: '\integrity project configuration path\', configurationName: '7fc7dc75-f94e-4cc7-ab57-558f611d0fb8', deleteNonMembers: false, fetchChangedWorkspaceFiles: false, localClient: true, password: '{AQAAABAAAAAQ7YBJmtuzpndmmu/eUEL3v80g/oF3g+lzpM1S1JHkk5E=}', restoreTimestamp: false, serverConfig: '836d9a67-b82d-4cf3-ba06-c4557a18306b', skipAuthorInfo: false]) 
相關問題