It's all about the answers!

Ask a question

how to get the timecodeId


Li Li (158) | asked May 29 '16, 10:19 p.m.
Hello,
   How can I get  the corresponding relationship between timecodeId and timecodeName through the URL,just like I can get  the corresponding relationship between the enumerationID of  severity and enumerationName of severity through the URL"https://localhost:9443/ccm/oslc/enumerations/_NK97OTIPEeKNFJMqNw8Q4w/severity"("NK97OTIPEeKNFJMqNw8Q4w" is the ID of the ProjectArea)

Accepted answer


permanent link
Ralph Schoon (63.1k33645) | answered May 30 '16, 2:38 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited May 30 '16, 2:40 a.m.
OSLC, all I have is: https://jazz.net/wiki/bin/view/Main/OSLCAccessForTimesheetEntry


In the Java API (in the downloadable code https://rsjazz.wordpress.com/2015/03/31/the-work-item-time-tracking-api/ ):

    /**
     * Get the time code identifier from the name
     *
     * @param timeCodeName
     * @return
     * @throws TeamRepositoryException
     */
    private ITimeCode calculateTimeCode(String timeCodeName)
            throws TeamRepositoryException {
        // Find the time code
        ITimeCode timeCodeToSet = null;
        List<ITimeCode> timeCodes = getWorkItemCommon().getTimeCodes(
                getWorkItem().getProjectArea());
        for (ITimeCode aTimeCode : timeCodes) {
            if (aTimeCode.getTimeCodeLabel().equals(timeCodeName)) {
                timeCodeToSet = aTimeCode;
                break;
            }
        }
        if (timeCodeToSet == null) {
            throw new TeamRepositoryException("Timecode not found: "
                    + timeCodeName);
        }
        return timeCodeToSet;
    }

Li Li selected this answer as the correct answer

One other answer



permanent link
Li Li (158) | answered Jul 20 '16, 2:58 a.m.
 I try to use OSLC to add timesheet through the following code
public boolean addDairy(String startdate,float spentTime,String timeCode,String timeCodeId,String defectId,String userId){
String url=rtcBaseURL + "/oslc/workitems/"+defectId+"/rtc_cm:timeSheet";//rtcBaseURL is like"https://jazz.com:9443/ccm"
String workItem=rtcBaseURL + "/resource/itemName/com.ibm.team.workitem.WorkItem/" + defectId;
String creator =rtcBaseURL+"/jts/users/"+userId;
String spentTm=new DecimalFormat("#").format(spentTime*3600000);
String jsonComment = "{\"rtc_cm:workItem\":\"" + workItem + "\",\"dc:creator\":\""+creator+"\",\"rtc_cm:startDate\":\""+startdate+"\",\"rtc_cm:timeCode\":\""+timeCode+"\",\"rtc_cm:timeCodeId\":\""+timeCodeId+"\",\"rtc_cm:timeSpent\":\""+spentTm+"\"}";
JSONObject json = (JSONObject) post(url, jsonComment);
return true;
}

I use the code to add timesheet ,howerver it return "HTTP/1.1 405 Method Not Allowed [Server: Apache-Coyote/1.1, Cache-Control: private, max-age=0, must-revalidate, Expires: Wed, 20 Jul 2016 06:48:54 GMT, Content-Length: 0, Date: Wed, 20 Jul 2016 06:48:54 GMT] org.apache.http.conn.BasicManagedEntity@3f4c24"

I have used the same method to add comments,and I want to know if I have the wrong OSLC interface .

Your answer


Register or to post your answer.