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

时间:2013-11-04 12:42:05

标签: rest change-management

是否可以使用变更管理系统的OSLC-CM REST API修改变更请求的属性。我正在努力实现的系统是Rational Change。 我可以通过REST API浏览和查询,但是要修改我需要求助于命令行的任何东西,这很慢。 有办法吗?

BR, 的Pawel

2 个答案:

答案 0 :(得分:1)

使用OSLC-CM REST API you simply just can use 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. 此外,您很可能需要传递some additional headers来帮助服务器检测到任何可能的冲突。
  5. 您应该在成功时获得200(OK)或204(无内容)回复。
  6. 优化将是执行与上述相同的步骤,但仅请求感兴趣的属性,并仅使用selective properties feature of OSLC发送它们。

答案 1 :(得分:0)

所以我终于得到了googlegroups的一些帮助

回顾一下我所做的事情,以便其他人也可以从中受益(我真的已经搜索过了,而且IBM文档在大多数情况下都没有帮助):

因此,为了修改Rational Change服务器上的PR / CR' implement_actual_effort 属性,以下过程成功(使用Firefox REST插件): 1.在标题集中:接受 application / xml 内容类型 application / xml

  1. 将cr i URL的oslc地址放在我的情况下:   http:// [IP:PORT] / change / oslc / db / [DB hex ID] / role / User / cr / [web_encoded_name_of_the_CR]?oslc_cm.properties = change:implement_actual_effort  (注意在浏览器http:// [IP:PORT] / change / oslc / db / [DB hex ID] / role / User / cr / [web_encoded_name_of_the_CR]将打开CR / PR的更改页面)
  2. 在REST客户端中设置方法以获取GET并按SEND
  3. 单击Response Body(RAW),复制xml Body
  4. 将方法更改为PUT,更改属性的值(在Body窗口中的xml中)
  5. 按SEND
  6. 属性应该立即更改,并且响应应该类似于您发送的内容,并且属性显示更改。
  7. 请注意,要更改属性(从oslc的角度来看称为属性),必须提供?oslc_cm.properties = [用逗号分隔的属性] 并且在请求体xml中必须存在相同的属性,如果我没记错,如果在xml中没有提到该属性,它将被设置为默认值

    我希望这有助于某人

    BR,

    的Pawel