cURL GET WI - RTC 4.0.3
Kartik Manchanda (7●6●7)
| asked Feb 03 '14, 3:57 p.m.
edited Feb 04 '14, 2:37 a.m. by Krzysztof Kaźmierczyk (7.5k●4●80●103)
Hello
I am trying to perform a GET call using cURL. Below is the script. However below does not create wi-53.xml. Need help to figure this out.
set COOKIES="C:\RTC\OSLC\cookies.txt"
set USER=xxxx
set PASSWORD=xxxx
set URL="http://ccm-host/ccm/oslc/workitems/53"
set host="http://jts-host"
curl -k -c %cookies% "%host%/jts/authenticated/identity"
curl -k -L -b %COOKIES% -c %COOKIES% -d j_username=%USER% -d j_password=%PASSWORD% "%host%/jts/authenticated/j_security_check"
curl -D - -k -b %COOKIES% -o "wi-53.xml" -H "Accept: application/x-oslc-cm-change-request+xml" %URL%
***********************************************************************************************************************************
cookies.txt :
# Netscape HTTP Cookie File
# http://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
jts-host FALSE / FALSE 786297600 WASReqURL ""
jts-host FALSE / FALSE 0 LtpaToken2 A1DKJYhHcw4po2eeUP2Wx6TVy4D7FB640pIrxiN9RXHoRwz5IS67o8ggEt+Re0dG+big6xs/1hlolfsJAZgF/PUH24Tt4Ugc2dgA2rGyXb3enupjOfg6EzTmJnRsJp6CVIATvTrlo050Cf6SJvwqBDKZOl5cQAuGT5rHt0HaVq6rYIGGlz4MWK6LsLi5urTlfMXBMUuzTYPxkc2JdkpnZ24CAMYM/+KSV20rX5pq14OU6YEzqYIRbQAmnhADfPl5qoIXqDPwFNNL5e7FLTaRkIGWxU9MZnsEqJcFrLSSi1Tl/Z4eebdyakBASNphI1Y4MaB5HR4ayjFlVjT6BZ21iGFFhldhNbtJ5MTd2QxvVY7QRvCR3AHkz/f/V423AYGGptckkQpjbKhhdx4U6xNUZgKp4chYUuFyeATP3hab0+4aDStpUn0QG6W/szQq1fg4jUQy211rnJ4i0ePXE8cX0qP/UVsbByYPN9eIPosQj4N/nYc/yUppcZHdkVrhfigasp5/TwfbNSO1kbPl4Q8QmraB407OY3Th4XU1USsqGaJL4ovnvi0Tp8tjyPGi7kHTW49AcykkUVr9c8UNqa4w2OKs3AFS1s1wpd1awXRdkQLoOCLIzty5Oq38S3ELNyFBgwV/4n0INByqLog4gCVxZKrmUC1ofyqzh0xfx1bZ18KlK3Iwej8s8p5unDbx/73RryvdXlNq3q5lm8HcdZglVg==
jts-host FALSE / FALSE 0 JSESSIONID 00005zrv-9vFaCxCJnYtQqIsquM:-1
jts-host FALSE /jts/authenticated/ FALSE 0 X-com-ibm-team-foundation-auth-loop-avoidance false
|
Accepted answer
Hi Kartik,
Try adding "?oslc_cm.properties=dc:description" to your URL to say that you want the description of the work item. Add the verbose flag to cURL also helps to understand what is happening This worked for me: # Update this line with the name of server HOST="https://<your hostname>/ccm" USER=xxxx@yyy.zzz.com PASSWORD=mypassword # Comment this line when it works VERBOSE=-v COOKIES=./cookies.txt rm $COOKIES URL="$HOST/resource/itemName/com.ibm.team.workitem.WorkItem/26416" OUTPUT="wi_26416.xml" # Perform Form based authentication using curl curl -k -c $COOKIES -o tmp.html "$HOST/authenticated/identity" curl -k -L -b $COOKIES -c $COOKIES -o tmp.html -d j_username=$USER -d j_password=$PASSWORD "$HOST/authenticated/j_security_check" # Add which bit of the work item we want to extract URL=$URL?oslc_cm.properties=dc:description # Get the work item in XML format curl -D header.txt -X GET $VERBOSE -k -b $COOKIES -o $OUTPUT -H "Accept: application/x-oslc-cm-change-request+xml" $URL Simon Kartik Manchanda selected this answer as the correct answer
Comments
Kartik Manchanda
commented Feb 04 '14, 1:17 p.m.
Thank You SImon..Finally seems to be heading in the right direction. Much appreciated.
Kartik Manchanda
commented Feb 04 '14, 1:41 p.m.
Another QQ : In order to get a state of a particular WI, it this correct?
set URL=%URL%?oslc_cm.properties=rtc_cm:state
|
One other answer
Hi Kartik,
If you use %URL%?oslc_cm.properties=rtc_cm:state Then you will get <?xml version="1.0" encoding="UTF-8"?> <oslc_cm:ChangeRequest xmlns:rtc_cm="http://jazz.net/xmlns/prod/jazz/rtc/cm/1.0/" xmlns:oslc_cm="http://open-services.net/xmlns/cm/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rdf:about="https://$HOST/ccm/resource/itemName/com.ibm.team.workitem.WorkItem/26416"> <rtc_cm:state rdf:resource="https://$HOST/ccm/oslc/workflows/_Zu67at-uEeCFsdAYmU6XKQ/states/bugzillaWorkflow/3"/> </oslc_cm:ChangeRequest> So the state is enclosed in a <oslc_cm:ChangeRequest> tag and the value is a reference to the resource that describes the state. If you follow the link to the resource then you will get the information about the id and a title that is human readable. Like this: <rtc_cm:Status rdf:about="https://$HOST/ccm/oslc/workflows/_Zu67at-uEeCFsdAYmU6XKQ/states/bugzillaWorkflow/3"> <dc:identifier>3</dc:identifier> <dc:title>Resolved</dc:title> <rtc_cm:iconUrl>https://$HOST/ccm/service/com.ibm.team.workitem.common.internal.model.IImageContentService/processattachment/_Zu67at-uEeCFsdAYmU6XKQ/workflow/resolve.gif</rtc_cm:iconUrl> <rtc_cm:group>closed</rtc_cm:group> </rtc_cm:Status> Enjoy, Simon Comments
Kartik Manchanda
commented Feb 07 '14, 3:20 p.m.
Simon
Could you look @ https://jazz.net/forum/questions/141514/curl-put-wi-rtc-403-state-transition
I am sure..you would have done it in past.
Once again thanks
|
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.