r5 - 11 Oct 2007 - 11:17:23 - SocratesVicenteYou are here: GoplanWiki >  Developers Web > SoapAPI

Introduction to the Soap API

In order to speed up client application development, the Goplan API was implemented using SOAP4R. All you need is a soap library for your language of choice. If you are using Apache Axis you might want to make some changes to your stubs to allow nillable elements: AllowingNillableElements or use our Jar library available here.

All API methods receive an ApiAuth? object as a parameter and other parameters varying on the method you're using. Due to the fact that the APiAuth? object contains sensitive data, you should use https to access the Goplan API.

Updated 26/07/2007

Added a new method - MyProjects? - and some more information to tickets/tasks/blog entries/notes and files.

WSDL:

  • WSDL address for the Goplan API is http(s)://goplan.org/soap_api/wsdl/

Objects:

ApiAuth ApiBlogEntry ApiBlogComment ApiCalendarEvent ApiFileCategory ApiFile ApiNote ApiNoteComment ApiTaskCategory ApiTask ApiTaskComment ApiTicket ApiTicketComment ApiFile ApiUser

ApiAuth?

   project - xsd:string
   token - xsd:string
   username - xsd:string
   password - xsd:string

The variable project is the alias for the project you want to use with the api.

ApiBlogEntry?

   id - xsd:int
   title - xsd:string
   text - xsd:string
   author_id - xsd:int
   creation_time xsd:dateTime
   updated_at xsd:dateTime

ApiBlogComment?

   id - xsd:int
   blog_entry_id - xsd:int
   author_id - xsd:int
   text - xsd:string
   creation_time xsd:dateTime

ApiCalendarEvent?

   id - xsd:int
   summary - xsd:string
   start_date - xsd:dateTime
   end_date - xsd:dateTime
   description - xsd:string
   all_day - xsd:int

  • All Day
    • 0 -> false
    • 1 -> true

ApiFileCategory?

   id - xsd:int
   name - xsd:string

ApiFile?

   id - xsd:int
   category_id - xsd:int
   filename - xsd:string
   size - xsd:int
   title - xsd:string
   author_id - xsd:int
   creation_time - xsd:dateTime
   updated_at - xsd:dateTime
   data - soapenc:base64
   versioned_id - xsd:int
   version - xsd:int

The variable versioned_id groups versions of the same file.

ApiNote?

   id - xsd:int
   title - xsd:string
   text - xsd:string
   author_id - xsd:int
   creation_time - xsd:dateTime
   updated_at - xsd:dateTime

ApiNoteComment?

   id - xsd:int
   note_id - xsd:int
   author_id - xsd:int
   text - xsd:string
   creation_time xsd:dateTime

ApiTaskCategory?

   id - xsd:int
   name - xsd:string

ApiTask?

   id - xsd:int
   category_id - xsd:int
   title - xsd:string
   description - xsd:string
   due_date - xsd:date
   creator_id - xsd:int
   assignee_id - xsd:int
   closer_id - xsd:int
   creation_time - xsd:dateTime
   status - xsd:int
   parent_id - xsd:int
   updated_at - xsd:dateTime

  • Task Status
    • 0 -> Open
    • 1 -> Closed

ApiTaskComment?

   id - xsd:int
   task_id - xsd:int
   author_id - xsd:int
   text - xsd:string
   creation_time xsd:dateTime

ApiTicket?

   id - xsd:int
   title - xsd:string
   description - xsd:string
   creator_id - xsd:int
   assignee_id - xsd:int
   closer_id - xsd:int
   creation_time - xsd:dateTime
   status - xsd:int
   priority - xsd:int
   severity - xsd:int
   updated_at - xsd:dateTime

  • Ticket Severity
    • 0 -> Trivial
    • 1 -> Minor
    • 2 -> Major
    • 3 -> Critical
    • 4 -> Blocker

  • Ticket Priority
    • 0 -> Low
    • 1 -> Medium
    • 2 -> High

  • Ticket Status
    • 0 -> Open & Unassigned
    • 1 -> Open & Assigned
    • 2 -> Closed

ApiTicketComment?

   id - xsd:int
   ticket_id - xsd:int
   author_id - xsd:int
   text - xsd:string
   creation_time xsd:dateTime

ApiUser?

   id - xsd:int
   name - xsd:string
   email - xsd:string
   alias - xsd:string
   permissions - typens:StringArray

Available methods:

MyId MyProjects FindAllTasks FindAllTickets FindAllBlogEntries FindAllFiles FindAllProjectUsers FindProjectFeatures FindAllTaskCategorees FindAllFileCategories FindAllCalendarEvents NewTicket NewTask NewTaskCategory NewNote NewBlogEntry GetFileUrl NewFile NewFileCategory NewCalendarEvent UpdateTicket UpdateTask UpdateBlogEntry UpdateNote UpdateCalendarEvent CloseTicket CloseTask DeleteBlogEntry DeleteFile DeleteNote DeleteTask DeleteTaskCategory DeleteFileCategory DeleteCalendarEvent FindCommentsForBlogEntry FindCommentsForNote FindCommentsForTask FindCommentsForTicket NewBlogComment NewNoteComment NewTaskComment NewTicketComment

MyId? - Returns your user id.

  • receives: ApiAuth?
  • returns: xsd:int (id)

MyProjects? - Returns an array containing the aliases of all the projects you're in.

  • receives: ApiAuth?
  • returns: [String]

FindAllTasks? - Returns the tasks of the given project.

  • receives: ApiAuth?
  • returns: [ApiTask]

FindAllTickets? - Returns the tickets of the given project.

  • receives: ApiAuth?
  • returns: [ApiTicket]

FindAllNotes? - Returns the notes of the given project.

  • receives: ApiAuth?
  • returns: [ApiNote]

FindAllBlogEntries? - Returns the blog entries of the given project.

  • receives: ApiAuth?
  • returns: [ApiBlogEntry]

FindAllFiles? - Returns the list of files of the given project (not the files themselves).

  • receives: ApiAuth?
  • returns: [ApiFile]

FindAllProjectUsers? - Returns the users that belong to the given project, including their permissions.

  • receives: ApiAuth?
  • returns: [ApiUser]

FindProjectFeatures? - Returns the features enabled in the given project.

  • receives: ApiAuth?
  • returns: [xsd:string]

FindAllTaskCategories? - Returns the task categories of the given project.

  • receives: ApiAuth?
  • returns: [ApiTaskCategory]

FindAllFileCategories? - Returns the files categories of the given project.

  • receives: ApiAuth?
  • returns: [ApiFileCategory]

FindAllCalendarEvents? - Returns the calendar events of the given project.

  • receives: ApiAuth?
  • returns: [ApiCalendarEvent]

NewTicket? - Creates a new ticket, using the ApiTicket? received as a parameter.

  • receives: ApiAuth?,ApiTicket
  • returns: ApiTicket?

The variables id, creator_id, creation_time and status are ignored. The variable assignee_id and closer_id must be valid ids of users with the permission "Edit Tickets". Status is determined from the presence of assignee and closer ids.

NewTask? - Creates a new task, using the ApiTask? received as a parameter.

  • receives: ApiAuth?,ApiTask
  • returns: ApiTask?

The variables id, creator_id, creation_time and status are ignored. The variable assignee_id and closer_id must be valid ids of users with the permission "Edit Tasks". Status is determined from the presence of assignee and closer ids. task_category_id must be a valid category id.

NewTaskCategory? - Creates a new task category, using the ApiTaskCategory? received as a parameter.

  • receives: ApiAuth?,ApiTaskCategory
  • returns: ApiTaskCategory?

The variable id is ignored.

NewNote? - Creates a new note, using the ApiNote? received as a parameter.

  • receives: ApiAuth?,ApiNote
  • returns: ApiNote?

The variables id, author_id and creation_time are ignored.

NewBlogEntry? - Creates a new blog entry, using the ApiBlogEntry? received as a parameter.

  • receives: ApiAuth?,ApiBlogEntry
  • returns: ApiBlogEntry?

The variables id, author_id and creation_time are ignored.

GetFileUrl? - Returns the download url for the file with the given id.

  • receives: ApiAuth?, xsd:int (file_id)
  • returns: xsd:string (url)

NewFile? - Creates a new file, using the ApiFile? received as a parameter.

  • receives ApiAuth?,ApiFile
  • returns: ApiFile?

The variables id, size, author_id and creation_time are ignored. file_category_id must be a valid category id.

NewFileCategory? - Creates a new file category, using the ApiFileCategory? received as a parameter.

  • receives: ApiAuth?,ApiFileCategory
  • returns: ApiFileCategory?

The variable id is ignored.

NewCalendarEvent? - Creates a new calendar event, using the ApiCalendarEvent? received as a parameter.

  • receives: ApiAuth?,ApiCalendarEvent
  • returns: ApiCalendarEvent?

The variable id is ignored.

UpdateTicket? - Updates a ticket using the ApiTicket? received as a parameter.

  • receives: ApiAuth?,ApiTicket
  • returns ApiTicket?

The only values that can be changed are title, description, priority, severity, assignee_id and closer_id. Status is changed accordingly.

UpdateTask? - Updates a task using the ApiTask? received as a parameter.

  • receives: ApiAuth?,ApiTask
  • returns: ApiTask?

The only values that can be changed are task_category_id, due_time, title, description, assignee_id and closer_id. Status is changed accordingly.

UpdateBlogEntry? - Updates a blog entry using the ApiBlogEntry? received as a parameter.

  • receives: ApiAuth?,ApiBlogEntry
  • returns: ApiBlogEntry?

The only values that can be changed are title and text.

UpdateNote? - Updates a note using the ApiNote? received as a parameter.

  • receives: ApiAuth?,ApiNote
  • returns: ApiNote?

The only values that can be changed are title and text.

UpdateCalendarEvent? - Updates a calendar event using the ApiCalendarEvent? received as a parameter.

  • receives: ApiAuth?,ApiCalendarEvent
  • returns: ApiCalendarEvent?

All values can be changed except for id.

CloseTicket? - Closes the ticket received as a parameter.

  • receives: ApiAuth?, xsd:integer (ticket_id)
  • returns: ApiTicket?

CloseTask? - Closes the task received as a parameter.

  • receives: ApiAuth?, xsd:integer (task_id)
  • returns: ApiTask?

DeleteBlogEntry? - Deletes the blog entry that matches the given id.

  • receives: ApiAuth?, xsd:integer (blog_entry_id)
  • returns: xsd:boolean (sucess)

DeleteFile? - Deletes the file that matches the given id.

  • receives: ApiAuth?, xsd:integer (file_id)
  • returns: xsd:boolean (success)

DeleteNote? - Deletes the note that matches the given id.

  • receives: ApiAuth?, xsd:integer (note_id)
  • returns: xsd:boolean (success)

DeleteTask? - Deletes the task that matches the given id.

  • receives: ApiAuth?, xsd:integer (task_id)
  • returns xsd:boolean (success)

DeleteTaskCategory? - Deletes the task category that matches the given id.

  • receives: ApiAut?}, xsd:integer (task_category_id)
  • returns: xsd:boolean (success)

DeleteFileCategory? - Deletes the file category that matches the given id.

  • receives: ApiAuth?, xsd:integer (file_category_id)
  • returns: xsd:boolean (success)

DeleteCalendarEvent? - Deletes the calendar event that matches the given id.

  • receives: ApiAuth?, xsd:integer (calendar_event_id)
  • returns: xsd:boolean (success)

FindCommentsForBlogEntry? - Returns the comments for a given blog post.

  • receives: ApiAuth?, xsd:integer (blog_entry_id)
  • returns: [ApiBlogComment]

FindCommentsForNote? - Returns the comments for a given note.

  • receives: ApiAuth?, xsd:integer (note_id)
  • returns: [ApiNoteComment]

FindCommentsForTask? - Returns the comments for a given task.

  • receives: ApiAuth?, xsd:integer (task_id)
  • returns: [ApiTaskComment]

FindCommentsForTicket? - Returns the comments for a given ticket.

  • receives: ApiAuth?, xsd:integer (ticket_id)
  • returns: [ApiTicketComment]

NewBlogComment? - Creates a new blog comment.

  • receives: ApiAuth?, ApiBlogComment?
  • returns: ApiBlogComment?

NewNoteComment? - Creates a new note comment.

  • receives: ApiAuth?, ApiNoteComment?
  • returns: ApiNoteComment?

NewTaskComment? - Creates a new task comment.

  • receives: ApiAuth?, ApiTaskComment?
  • returns: ApiTaskComment?

NewTicketComment? - Creates a new ticket comment.

  • receives: ApiAuth?, ApiTicketComment?
  • returns: ApiTicketComment?
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r5 < r4 < r3 < r2 < r1 | More topic actions
 
Goplan Wiki
Copyright © by the contributing authors. Goplan is © Webreakstuff