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

I think the cause is that bugzilla must allocate the task id itself.
Creating a new bug requires a minimal set of parameters also in the HTML version: for example product must be set before one can create a new bug.

your code:
BugzillaTask task1 = new BugzillaTask(REPOSITORYURL, "10", "my programmed demo demo BUG 2!"); will only work when 10 is already an existing bug id. Look at the workflow in the BugzillaNextTaskEditor for pointers on what;s required.

Maarten

Op 6 apr 2008, om 02:03 heeft Ivan het volgende geschreven:
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




Back to the top