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
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
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?