簡體   English   中英

是否可以使用OSLC_CM更改/修改CR的屬性?

[英]Is it possible to change/modify properties of a CR using OSLC_CM?

是否可以通過使用變更管理系統的OSLC-CM REST API來修改變更請求的屬性。 我正在嘗試實現的系統是Rational Change。 我可以通過REST API瀏覽和查詢,但是要修改任何內容,我都需要訴諸命令行,這相當慢。 有辦法嗎?

BR,帕維爾

要使用OSLC-CM REST API更新資源,只需使用HTTP PUT即可 為此,您首先需要更改請求的URL。

要實現此目的的步驟(使用任何HTTP客戶端)是:

  1. 獲取變更請求的URL(通常通過查詢或存儲的引用等完成)
  2. 在該URL上執行HTTP GET,指定用於編輯的格式。 這是使用“ Accept”標頭完成的,一些典型值是“ application / xml”,“ application / json”或“ application / rdf + xml”。
    1. 注意,最好設置標題“ OSLC-Core-Verson:2.0”,以確保您使用的是2.0格式。
  3. 獲取資源后,將屬性修改為所需的值。
  4. 使用HTTP PUT,將內容主體中的已修改資源發送到您從中獲取資源的相同URL。
    1. 另外,您很可能需要傳遞一些其他標頭來幫助服務器檢測任何可能的沖突。
  5. 成功后,您應該返回200(確定)或204(無內容)響應。

一種優化將執行與上述相同的步驟,但僅請求感興趣的屬性,並且僅使用OSLC選擇性屬性功能發送它們。

所以我終於在googlegroups的幫助下完成了工作

回顧一下我所做的事情,以便其他人也可以從中受益(我確實在搜索它,並且在大多數情況下,IBM文檔都沒有幫助):

所以,(使用Firefox插件REST)來修改Rational變更服務器下面的過程是成功的PR / CR” implement_actual_effort屬性:1.在頭集: 接受application / xml, 內容類型application / xml

  1. 在我的情況下,將cr i URL的oslc地址放在: http:// [IP:PORT] / change / oslc / db / [DB十六進制ID] / role / User / cr / [web_encoded_name_of_the_CR]?oslc_cm.properties = change:implement_actual_effort (瀏覽器中的注釋http:// [IP:PORT] / change / oslc / db / [DB十六進制ID] / role / User / cr / [web_encoded_name_of_the_CR]將打開CR / PR的更改頁面)
  2. 在REST客戶端中,將Method設置為GET,然后按SEND
  3. 單擊響應正文(RAW),復制xml正文
  4. 將Method更改為PUT,更改屬性的值(在Body窗口的xml中)
  5. 按發送
  6. 現在應該已經更改了屬性,並且響應應該類似於您發送的內容,並且該屬性顯示了更改。

請注意,要更改屬性(從oslc的角度來看稱為屬性),必須提供?oslc_cm.properties = [以逗號分隔的屬性],並且在請求正文xml中必須存在相同的屬性,如果我記得正確的話, xml中未提及該屬性,它將設置為默認值

我希望這可以幫助別人

BR

帕維爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM