Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mylyn-integrators] Creating and storing a new BugzillaTask in repository

Hi Ivan,

The CoreException returned has a status object on it that in this error case will have the html output (error message) from the repository. You could start by looking at that html to see what error the repository is returning and go from there. Use of a NullProgressMonitor should be fine here.

-Rob


Ivan wrote:
Hello ,

i'm new to plugin development and and trying to generate a new BugzillaTask automatically
and store it in my repository.  Can somebody tell me how to do this.
When i read the data of an existing task out the repository and change it , it gets saved correctly.

my read a task and change some values code :

TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList();
BugzillaRepositoryConnector connector = new BugzillaRepositoryConnector();
connector.init(taskList);
RepositoryTaskData taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(REPOSITORYURL, "1");
taskData.setNewComment("some comment...");
BugzillaClient client = connector.getClientManager().getClient(repository);
client.postTaskData(taskData);


this saves the comment ... i'm happy :) (or better use ?)

now i want to create a completely new Task and tried something like this... BugzillaTask task1 = new BugzillaTask(REPOSITORYURL, "10", "my programmed demo demo BUG 2!");
but couldn't find a way to store the BugzillaTask...

So i debugged what happens when i create a new task with the BugzillaTaskEditor and submit it to my repository
and found the submitToRepository method where the task is created with
String taskId = connector.getTaskDataHandler().postTaskData(repository, taskData, new SubProgressMonitor(monitor, 1));

So i tried to build the taskData and do it the same way.
My task Data :
RepositoryTaskData repoTaskData = newRepositoryTaskData(newBugzillaAttributeFactory(),BugzillaCorePlugin.REPOSITORY_KIND,REPOSITORYURL,"15","task"); repoTaskData.setAttributeValue(BugzillaReportElement.PRODUCT.getKeyString(), taskData.getProduct()); repoTaskData.setAttributeValue(BugzillaReportElement.COMPONENT.getKeyString(), "RCP Plugins"); repoTaskData.setAttributeValue(BugzillaReportElement.BLOCKED.getKeyString(), ""); repoTaskData.setAttributeValue(BugzillaReportElement.BUG_STATUS.getKeyString(), IBugzillaConstants.VALUE_STATUS_NEW); repoTaskData.setAttributeValue(BugzillaReportElement.BUG_SEVERITY.getKeyString(), IBugzillaConstants.DEFAULT_SEVERITY_VALUES[3]); repoTaskData.setAttributeValue(BugzillaReportElement.ASSIGNED_TO.getKeyString(), ""); repoTaskData.setAttributeValue(BugzillaReportElement.VERSION.getKeyString(), "unspecified"); repoTaskData.setAttributeValue(BugzillaReportElement.NEWCC.getKeyString(), ""); repoTaskData.setAttributeValue(BugzillaReportElement.SHORT_DESC.getKeyString(), "KRITZEL KRATZEL"); repoTaskData.setAttributeValue(BugzillaReportElement.REP_PLATFORM.getKeyString(), "PC"); repoTaskData.setAttributeValue(BugzillaReportElement.OP_SYS.getKeyString(), IBugzillaConstants.DEFAULT_OS_VALUES[6]); repoTaskData.setAttributeValue(BugzillaReportElement.DEPENDSON.getKeyString(), ""); repoTaskData.setAttributeValue(BugzillaReportElement.BUG_FILE_LOC.getKeyString(), "http://";); repoTaskData.setAttributeValue(BugzillaReportElement.PRIORITY.getKeyString(), "P3"); repoTaskData.setAttributeValue(BugzillaReportElement.DESC.getKeyString(), "some text");
       repoTaskData.setNew(true);

Cause i have no access to a monitor(new SubProgressMonitor(monitor, 1)) i tried it with: String taskId = connector.getTaskDataHandler().postTaskData(repository, repoTaskData, new NullProgressMonitor());
but it ends up in a
org.eclipse.core.runtime.CoreException: A repository error has occurred.
at org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient.parseHtmlError(BugzillaClient.java:1135) at org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient.postTaskData(BugzillaClient.java:879) at org.eclipse.mylyn.internal.bugzilla.core.BugzillaTaskDataHandler.postTaskData(BugzillaTaskDataHandler.java:158)

can somebody please give me a small explenation how to achive this. This would be great :) Of course if read the http://wiki.eclipse.org/index.php/Mylar_Integrator_Reference and also the Quick Example
but i guess this is not running with the current API ?

thanks ivan



_______________________________________________
mylyn-integrators mailing list
mylyn-integrators@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mylyn-integrators



--
Robert Elves
Mylyn Committer, http://eclipse.org/mylyn



Back to the top