通知範本的參數

視通知的環境定義而定,您可以將參數插入通知範本中。傳送通知時,這些參數將取代為值,例如應用程式、元件和處理程序的名稱及相關資訊。
註: 並非所有參數都在所有環境定義中可用。例如,當您執行一般處理程序時,與應用程式相關的參數不可用。
表 1. 一般參數
參數 說明 範例
$externalUrl() 伺服器的 URL http://myserver.example.com:8443
$request 導致發出通知的要求,例如應用程式程序要求 ApplicationProcessRequest#74ae3853-3444-4d7d-a0f3-68107f47b29f
表 2. 應用程式參數. 當通知的範圍內包含應用程式時(例如,當執行應用程式程序時),這些參數會提供該應用程式的相關資訊。
參數 說明 範例
$application.getName() 應用程式的名稱 My application
$application.getId() 應用程式 ID b37054b7-7b20-49b6-973d-fd0ee0b1b62b
$application.isActive() 如果應用程式處於作用中,則為 True true
$application.isDeleted() 如果已刪除應用程式,則為 True false
$application.getDescription() 應用程式的說明 This is my application
$application.getCreatedDate() 應用程式的建立日期 Tue Dec 09 09:40:59 EST 2014
$application.getCreatedTime() UNIX 格式的應用程式建立時間 1418136059500
$application.getUser() 建立應用程式的使用者 User: admin
$application.getComponentList() 應用程式中的元件 [Component#966c250f-593d-43d6-85f1-e5dc0714a4fb (testcomp1), Component#4c045100-fe74-4609-9d1b-ee83b1537ad8 (testcomp2), Component#c6df42c8-e6bf-4caf-a920-18f0df875824 (testcomp3)]
$application.getSnapshotList() 應用程式的 Snapshot 清單 [Snapshot#d1eef698-2821-4c12-82d5-1327c67784b4 (My snapshot 1), Snapshot#a367117f-5184-4119-8e04-159db0c2ca52 (My snapshot 2)]
$application.getActiveSnapshotList() 應用程式的作用中 Snapshot 清單 [Snapshot#d1eef698-2821-4c12-82d5-1327c67784b4 (My snapshot 1), Snapshot#a367117f-5184-4119-8e04-159db0c2ca52 (My snapshot 2)]
$application.getBlueprintList() 應用程式的藍圖清單  
$application.getEnvironmentList() 應用程式的環境清單 [Environment#072a54df-8c3a-4b23-a660-323cf205c86c (Environment 1)]
$application.getActiveEnvironmentList() 應用程式的現行環境清單 [Environment#072a54df-8c3a-4b23-a660-323cf205c86c (Environment 1)]
$application.getCalendar() 應用程式的內部行事曆 ID Calendar#343d0b28-6154-4646-9157-01d9a5a64d84
$application.getPropSheet() 應用程式的內部內容表;若要存取特定的內容,請存取該內容表,如下列範例所示:$application.getPropSheet().getPropMap().get("myApplicationProp") PropSheet#e4075e9d-79c3-419d-9142-fc599525a63d
$application.getApplicationProcessList() 應用程式的應用程式程序清單 [com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcess@6b3446c6, com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcess@735e8c64, com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcess@44533468]
$application.getActiveApplicationProcessList() 應用程式的作用中應用程式程序清單 [com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcess@6b3446c6, com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcess@735e8c64, com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcess@44533468]
$application.getPath() 應用程式的 URL 路徑 applications/b37054b7-7b20-49b6-973d-fd0ee0b1b62b
$application.getTags() 應用程式上的標籤清單 [Tag#be1a1a81-2cce-4ce4-9e30-dd50544e700c (tag1), Tag#9e7706f1-c764-4d7b-9149-f44bdde5d521 (tag2)]
表 3. 應用程式程序參數. 當通知是針對應用程式程序進行回應時,這些參數會提供該應用程式程序的相關資訊。
參數 說明 範例
$applicationProcess.getId() 應用程式程序 ID 50d5bca2-d8d9-47f2-a0ce-5b75b3f24d3b
$applicationProcess.getName() 應用程式程序的名稱 Deploy application
$applicationProcess.isActive() 如果應用程式程序處於作用中,則為 True  
$applicationProcess.getApplicationId() 應用程式 ID b37054b7-7b20-49b6-973d-fd0ee0b1b62b
$applicationProcess.getApplication() 代表應用程式的內部物件 Application#b37054b7-7b20-49b6-973d-fd0ee0b1b62b (My application)
$applicationProcess.getInventoryChanges() 由於應用程式程序而發生的庫存變更的清單 [com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcessInventoryChange@c62323ff, com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcessInventoryChange@a0a3182b, com.urbancode.ds.subsys.deploy.config.application_process.ApplicationProcessInventoryChange@d1c8852a]
$applicationProcess.getInventoryManagementType() 庫存管理類型 AUTOMATIC
$applicationProcess.getOfflineAgentHandling() 如何處理離線代理程式 PRE_EXECUTION_CHECKFAIL_BUT_CONTINUEALLOW_OFFLINE
$applicationProcess.getUnfilledProperties() 包含未指定之要求內容的內部物件 com.urbancode.air.property.prop_sheet_def.PropSheetDefTree@3eaba31d
$applicationProcess.getFilledProperties()  
$applicationProcess.getComponentsTakingVersions()  
$applicationProcess.getAllAffectedTags()  
$applicationProcess.userCanExecute() 如果要求處理程序的使用者有權啟動該處理程序,則為 True  
表 4. 環境參數. 當通知是針對應用程式程序進行回應時,這些參數會提供該程序執行所在之環境的相關資訊。
參數 說明 範例
$environment.getId() 應用程式 ID 072a54df-8c3a-4b23-a660-323cf205c86c
$environment.isDeleted() 如果已刪除環境,則為 True  
$environment.getName() 環境的名稱 Environment 1
$environment.isActive() 如果環境處於作用中,則為 True  
$environment.getOrder() 一個整數,代表環境在環境表格中的順序 4
$environment.getDescription() 環境的說明  
$environment.getColor() 在環境表格中指派給環境的顏色 #00B2EF
$environment.isRequireApprovals() 如果環境需要核准,則為 True  
$environment.getExemptProcesses() 免於核准的處理程序清單  
$environment.isLockSnapshots() 如果新增至此環境的 Snapshot 處於鎖定狀態,則為 True  
$environment.getSnapshotLockType() 是否已鎖定元件版本及/或 Snapshot 配置 ALLVERSIONSCONFIGURATION
$environment.getApprovalProcess() 環境的核准處理程序  
$environment.getApplication() 包含環境的應用程式 Application#b37054b7-7b20-49b6-973d-fd0ee0b1b62b (My application)
$environment.getCleanupDaysToKeep() 在此環境中保留元件版本的天數;請參閱清除元件版本 5
$environment.getCleanupCountToKeep() 在此環境中保留的元件版本數;請參閱清除元件版本 5
$environment.getBaseResources() 與環境相關聯的基本資源清單 [Resource#5abdc86b-e5f1-439c-9125-2b4534ab3d54 (/Agents/agent1)]
$environment.getFullResourceList() 與環境相關聯的所有資源清單 [Resource#5abdc86b-e5f1-439c-9125-2b4534ab3d54 (/Agents/agent1), Resource#5abdc86b-e5f1-439c-9125-2b4534ab3d54 (/Agents/agent1/component1)]
$environment.getPropSheet() 環境的內部內容表;若要存取特定的內容,請存取該內容表,如下列範例所示:$environment.getPropSheet().getPropMap().get("myEnvironmentProp") PropSheet#3ab4a061-269b-4702-bf25-8f78ded4e033
$environment.getCalendar() 環境的內部行事曆 ID Calendar#d06ac549-5059-48da-a186-7bf3a693a625
$environment.getDesiredInventory() 代表環境所需庫存的內部物件清單 [DesiredInventoryEntry#8f44b61d-205c-4462-99cf-b87959ae6a8c, DesiredInventoryEntry#dad4951b-fede-46b2-8677-b9940c97f42b, DesiredInventoryEntry#c4b2d54d-4863-4ca5-9c41-dce417b8c201]
$environment.getDesiredInventoryMap() 將所需庫存與元件進行比對的對映 {Component#c6df42c8-e6bf-4caf-a920-18f0df875824 (testcomp3)=[DesiredInventoryEntry#dad4951b-fede-46b2-8677-b9940c97f42b], Component#4c045100-fe74-4609-9d1b-ee83b1537ad8 (testcomp2)=[DesiredInventoryEntry#8f44b61d-205c-4462-99cf-b87959ae6a8c], Component#966c250f-593d-43d6-85f1-e5dc0714a4fb (testcomp1)=[DesiredInventoryEntry#c4b2d54d-4863-4ca5-9c41-dce417b8c201]}
$environment.getLatestSnapshot() 已套用至環境的最新 Snapshot Snapshot#5d95883f-be45-4abe-8664-3ca6a7635a12 (MySnapshot1)
$environment.getExternalEnvironmentList() 藍圖設計伺服器所供應的相關環境清單  
您可以使用參數 $versions 來擷取應用程式程序版本的陣列。如需該陣列的大小,請使用參數 $versions.size()。若要存取此陣列內的個別版本,請使用迴圈進行存取 ,如下列範例中所示:
<div class="data-table-container">
#if ($versions.size() > 0)
  <h3>Versions Included:</h3>
  <table class="data-table" cellpadding="4" cellspacing="1" width="100%">
   <thead class="data-table-head">
      <th style="text-align:left;" scope="col" valign="middle">Component</th>
      <th style="text-align:left;" scope="col" valign="middle">Version</th>
      <th style="text-align:left;" scope="col" valign="middle">Description</th>
   </thead>
   <tbody>
    #foreach ($version in $versions)
      #if ($velocityCount % 2 == 1)
          #set ($rowClass = "odd")
      #else
          #set ($rowClass = "even")
      #end
      <tr class="$rowClass">
       <td>$version.getComponent().getName()</td>
       <td>$version.getName()</td>
       <td>
         #if ($version.getDescription())
           $version.getDescription()
         #end
       </td>
     </tr>
    #end
   </tbody>
  </table>
#else
  <h3>No Versions Included</h3>
#end
</div>
在迴圈內,您可以使用下表中的參數來存取個別版本的相關資訊:
表 5. 版本參數
參數 說明 範例
$version.getName() 元件版本的名稱  
$version.getComponent() 元件  
表 6. Snapshot 參數. 使用 Snapshot 執行部署時,這些參數會傳回該 Snapshot 的相關資訊。
參數 說明 範例
$snapshot.getId() Snapshot ID 5d95883f-be45-4abe-8664-3ca6a7635a12
$snapshot.getName() Snapshot 名稱 My snapshot
$snapshot.isActive() 如果 Snapshot 處於作用中,則為 True  
$snapshot.getDescription() Snapshot 的說明  
$snapshot.getCreatedDate() Snapshot 的建立日期 Fri Mar 20 09:56:42 EDT 2015
$snapshot.getCreatedTime() UNIX 格式的 Snapshot 建立時間 1418136059500
$snapshot.getUser() 建立 Snapshot 的使用者 User: jsmith
$snapshot.isVersionsLocked() 如果 Snapshot 中的元件版本處於鎖定狀態,則為 True  
$snapshot.isConfigLocked() 如果 Snapshot 配置處於鎖定狀態,則為 True  
$snapshot.getVersionMappingList() Snapshot 中元件版本的內部對映清單 [SnapshotVersionMapping#598de296-25bb-4a1e-9bd4-d3a394475df5, SnapshotVersionMapping#84666b5f-d450-4b12-be7a-506e6d1d7b0e, SnapshotVersionMapping#f2e479c1-7fb4-4742-9791-bf0567cd9905]
$snapshot.getVersionList() Snapshot 中的元件版本清單 [Version#3a0688a5-a0dd-43dc-8d46-c10711cda2e8 (2.4), Version#1d9f55bf-2980-4297-ae75-634fa7590272 (5.0), Version#3ab49110-ebf4-4bfb-af84-f44d00ba7183 (1.1)]
$snapshot.getComponentsWithVersions() 在 Snapshot 中具有版本的元件清單 [Component#966c250f-593d-43d6-85f1-e5dc0714a4fb (Component 1), Component#4c045100-fe74-4609-9d1b-ee83b1537ad8 (Component 2), Component#c6df42c8-e6bf-4caf-a920-18f0df875824 (Component 3)]
$snapshot.getCalendar() Snapshot 的內部行事曆 ID Calendar#343d0b28-6154-4646-9157-01d9a5a64d84
$snapshot.getPropSheet() Snapshot 的內部內容工作表 PropSheet#e4075e9d-79c3-419d-9142-fc599525a63d
$snapshot.getStatusList() 套用至 Snapshot 的狀態清單 [SnapshotStatus#4d2b592a-15e1-42de-8365-83fa44dcdba3, SnapshotStatus#864ed51e-4ef4-403c-a536-7a8e4c5a6a7e]
$snapshot.getLatestStatus() 套用至 Snapshot 的最新狀態 SnapshotStatus#864ed51e-4ef4-403c-a536-7a8e4c5a6a7e
表 7. 使用者參數. 這些參數會傳回要求處理程序之使用者的相關資訊。
參數 說明 範例
$user.getId() 使用者 ID 20000000000000000000000001000000
$user.getName() 使用者名稱 jsmith
$user.isEnabled() 如果使用者處於作用中,則為 True  
$user.getActualName() 使用者的完整名稱 Joe Smith
$user.getEmail() 使用者的電子郵件位址 jsmith@example.com
$user.getAuthenticationRealm() 使用者的鑑別範圍 AuthenticationRealm#20000000000000000000000000000001
$user.getAuthenticationRealmId() 鑑別範圍 ID 20000000000000000000000000000001
$user.getFailedAttempts() 使用者被鎖定之前的失敗嘗試次數 5
$user.isLockedOut() 如果使用者已鎖定,則為 True  
$user.getIpAddress() 使用者用來連接至伺服器的最新 IP 位址  
$user.getGroups() 使用者所屬的群組 [Group: Administrators]
表 8. 核准參數. 這些參數可用於核准。
參數 說明 範例
$processname 所要求處理程序的名稱  
$scheduledDate 處理程序的排定執行日期 Fri Apr 10 13:16:53 EDT 2015
$appRequest.getDescription() 應用程式程序要求的說明  
$requestType 要求的類型 applicationProcessRequest
$roles 使用者核准要求必須具有的角色 [Role: Administrator]
$appRequest 對於應用程式程序要求,為應用程式程序要求 ID ApplicationProcessRequest#81701a8b-332c-47dd-8efe-87aab8fa2dfd

意見