Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

How to create RM Artifact in REST API

I've been successful in creating both test scripts and test cases, but I can't figure out how to create a RM Artifact. I'd like to do similar to what I did with the test script/cases. For example: I queried for an existing test case using a GET to "/service/com.ibm.rqm.integration.service.IIntegrationService/resources/<project>/testcase/urn:com.ibm.rqm:testcase:<id>". I then edited the response xml to contain data for the new test case I'd like to create and performed a POST with it. Is is possible to do something similar with a an Artifact. To be specific I'm attempting to make the type="Test Point" with a format="Text". I'm pretty sure what I'm missing is the url, probably something like "/service/com.ibm.rqm....".

0 votes



One answer

Permanent link
You can create artifacts in RM using the OSLC API:

0 votes

Comments
Thanks for the link. While trying what is proposed I get the following error.

Command: "/rm/discovery/<project>services.xml"
Response: 400 - CRJAZ1675E The query cannot be completed because it is missing this service type or applicaiton ID parameters.

Looks like I need to use something like the rauth module in python instead of the requests module. Can anyone confirm? Is the only way to interact with artifacts is via OAuth? I was able to read/create/update test case/scripts without this additional step.

Requests definitely works with Jazz, although I've only used it for form authorisation and as they say other types of authorisation are available, e.g. oidc when using Jazz Authorisation Server, but that just ends up as a slighly different sort of form auth.


That URL looks wrong, looks like you're trying to construct it? But you shouldn't be constructing it - you should discover it through /rm/rootservices, which has a catalog descriptor like <oslc_rm:rmServiceProviders rdf:resource="https://server:port/rm/cat"/> - use that URL (my example isn't the actual type of URL you get) to get the projects as another stream of RDF, find the one you want by its dcterms:title.

The project catalog is a protected resource so you will get some flavour of rejection which can be an apparent success 200 BUT if this has a header X-com-ibm-team-repository-web-auth-msg: authrequired then you've got to do login - see under the heading FORM Challenge hereĀ https://jazz.net/wiki/bin/view/Main/NativeClientAuthentication

In fact the best tactic for login is not to do an explicit login but for each request check for an authrequired header in the response and do the login, then replay the original request. This then automatically logs you in when your authentication expires in 2/6/whatever hours.

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Jul 21 '20, 9:47 a.m.

Question was seen: 2,019 times

Last updated: Jul 22 '20, 1:16 p.m.

Confirmation Cancel Confirm