I’m releasing my another small free-time project: a Teamwork C# library (-inofficial-).
What is Teamwork?
Teamwork is a project/task-management software, something like Redmine, Jira, Trello, FogBugz and others.
Teamwork project can be controlled using their public web API, which this library uses.
My library supports following features:
- creating task:
- set assignee
- set watchers
- upload files
- set priority
- creating task lists
- creating task comments
- request projects
- request task lists
- request current user details
- request people working on project
- request tasks for project
The library uses FullSerializer for JSON manipulation. I found it better than commonly used Json.NET. It also works without problems when compiled on AOT platforms.
Also, this library is coded using older C# .NET 3 features, because I made also an Unity engine plugin that used this library (not part of the library).
Creating a simple task:
- create new client using var client = new TeamWorkSharp.Client and pass your Teamwork site domain name (domain_name.teamwork.com) and your user token
- register all possible delegates you’re interested in
- call client.RequestProjects()
- when your projects will be received, find your project of interest using var project = client.FindProjects(“project_name”, projects)
- request project task lists using RequestTaskLists(project)
- find your task list with var taskList = client.FindTaskList(“task_list_name”, project)
- post task using client.PostTask(taskList, …)
You can also request people working on project, post task comments etc…
In the source code, there is a simple example project that demonstrates all the features of the library (and works as a testing project when I’m implementing something in).
The library is released under BSD license in the hope it will be useful to someone.
The library is available on my GitHub.