Resources

Contents

Resource summary

Users get all users
get user
GET /users
GET /user/{userId}
Projects get all projects
get project
GET /projects
GET /project/{projectId}
Iterations get all iterations GET /project/{projectId}/iterations
User stories get all user stories
create user story

get all user stories in current iteration
create user story in current iteration

get user story
update user story
delete user story
GET /project/{projectId}/userstories
POST /project/{projectId}/userstories

GET /project/{projectId}/iteration/current/userstories
POST /project/{projectId}/iteration/current/userstories

GET /userstory/{userStoryId}
PUT /userstory/{userStoryId}
DELETE /userstory/{userStoryId}
Tasks get all tasks for user story
create task

get task
update task
delete task
GET /userstory/{userStoryId}/tasks
POST /userstory/{userStoryId}/tasks

GET /task/{taskId}
PUT /task/{taskId}
DELETE /task/{taskId}

Users

GET /users Returns all users.

  • Request
    GET http://localhost:8080/tinypm/api/users
  • Response
    <users>
      <user>
        <active>true</active>
        <id>1</id>
        <name>Alice</name>
      </user>
      <user>
        <active>false</active>
        <id>2</id>
        <name>Bob</name>
      </user>
    </users>
    

GET /user/{userId} Returns a single user identified by userId.

  • Request
    GET http://localhost:8080/tinypm/api/user/1
  • Response
    <user>
      <id>1</id>
      <name>Alice</name>
      <login>alice</login>
      <email>alice@nowhere.com</email>
      <active>true</active>
    </user>
    

Projects

GET /projects Returns all projects.

  • Request
    GET http://localhost:8080/tinypm/api/projects
  • Response
    <projects>
        <project>
          <active>true</active>
          <code>tpm</code>
          <id>1</id>
          <name>tinyPM</name>
        </project>
        <project>
          <active>false</active>
          <code>sup</code>
          <id>14</id>
          <name>Support</name>
        </project>
     </projects>
    

GET /project/{projectId} Returns a single project identified by projectId.

  • Request
    GET http://localhost:8080/tinypm/api/project/1 
  • Response
    <project>
      <id>1</id>
      <code>tpm</code>
      <name>tinyPM</name>
      <description>Best agile management tool.</description>
      <!-- short date format: yyyy-MM-dd -->
      <startDate>2006-04-01</startDate>
      <targetFinishDate>2067-04-01</targetFinishDate>
      <owner>
        <id>1</id>
        <name>Alice</name>
        <login>alice</login>
        <email>alice@nowhere.com</email>
        <active>true</active>
      </owner>
      <estimates>
        <value>0.0</value>
        <value>0.5</value>
        <value>1.0</value>
        <value>2.0</value>
        <value>3.0</value>
        <value>5.0</value>
        <value>8.0</value>
        <value>13.0</value>
        <value>20.0</value>
        <value>40.0</value>
        <value>80.0</value>
        <value>100.0</value>
      </estimates>
      <iterationLength>14</iterationLength>
      <defaultTask>Implement and test user story &quot;{0}&quot;.</defaultTask>
      <active>true</active>
    </project>
    

Iterations

GET /project/{projectId}/iterations Returns all iterations for a given project.

  • Request
     GET http://localhost:8080/tinypm/api/project/1/iterations 
  • Response
    <iterations>
      <iteration>
        <id>1</id>
        <name>Iteration 1</name>
        <goal>Goal</goal>
        <plannedVelocity>20.0</plannedVelocity>
        <position>1</position>
        <!-- short date format: yyyy-MM-dd -->
        <startDate>2006-04-01</startDate>
        <duration>7</duration>
      </iteration>
      <iteration>
        <id>2</id>
        <name>Iteration 2</name>
        <goal>Goal</goal>
        <plannedVelocity>20.0</plannedVelocity>
        <position>2</position>
        <startDate>2006-04-01</startDate>
        <duration>7</duration>
      </iteration>
    </iterations>
    

User stories

GET /project/{projectId}/userstories Returns all user stories for a given project.

  • Request
    GET http://localhost:8080/tinypm/api/project/1/userstories 
  • Response
    <userStories>
      <userStory>
        <id>1</id>
        <name>As an editor I want to be able to publish a new topic.</name>
      </userStory>
      <userStory>
        <id>2</id>
        <name>As an editor I want to be able to browse drafts.</name>
      </userStory>
    </userStories>
    

POST /project/{projectId}/userstories Creates a new user story.

  • Request
    POST http://localhost:8080/tinypm/api/project/1/userstories 
    <userStory>
      <name>As an editor I want to be able to publish a new topic.</name>
      <description>Each topic has to have a unique title.</description>
      <!-- priority: 1-MUST_HAVE, 2-SHOULD_HAVE, 3-COULD_HAVE, 4-WONT_HAVE -->
      <priority>
        <id>1</id>
        <name>MUST_HAVE</name>
        <priority>1</priority>
      </priority>
      <estimatedEffort>3.0</estimatedEffort>
      <iteration>
        <id>2</id>
      </iteration>
      <!-- color: WHITE, YELLOW, ORANGE, RED, GREEN, BLUE -->
      <color>BLUE</color>
      <owner>
        <id>2</id>
      </owner>
      <acceptingUser>
        <id>1</id>
      </acceptingUser>
      <!-- acceptanceStatus: PENDING, ACCEPTED, REJECTED -->
      <acceptanceStatus>ACCEPTED</acceptanceStatus>
    </userStory>
    

GET /project/{projectId}/iteration/current/userstories Returns all stories in the current iterartion.

  • Request
    GET http://localhost:8080/tinypm/api/project/1/iteration/current/userstories 
  • Response
    <userStories>
      <userStory>
        <id>1</id>
        <name>As an editor I want to be able to publish a new topic.</name>
      </userStory>
      <userStory>
        <id>2</id>
        <name>As an editor I want to be able to browse drafts.</name>
      </userStory>
    </userStories>
    

POST /project/{projectId}/iteration/current/userstories Creates a new user story in the current iteration.

  • Request
    POST http://localhost:8080/tinypm/api/project/1/iteration/current/userstories 
    <userStory>
      <name>As an editor I want to be able to publish a new topic.</name>
      <description>Each topic has to have a unique title.</description>
      <!-- priority: 1-MUST_HAVE, 2-SHOULD_HAVE, 3-COULD_HAVE, 4-WONT_HAVE -->
      <priority>
        <id>1</id>
        <name>MUST_HAVE</name>
        <priority>1</priority>
      </priority>
      <estimatedEffort>3.0</estimatedEffort>
      <!-- color: WHITE, YELLOW, ORANGE, RED, GREEN, BLUE -->
      <color>BLUE</color>
      <owner>
        <id>2</id>
      </owner>
      <acceptingUser>
        <id>1</id>
      </acceptingUser>
      <!-- acceptanceStatus: PENDING, ACCEPTED, REJECTED -->
      <acceptanceStatus>ACCEPTED</acceptanceStatus>
    </userStory>
    

GET /userstory/{userStoryId} Returns a single user story.

  • Request
    GET http://localhost:8080/tinypm/api/userstory/3 
  • Response
    <userStory>
      <id>3</id>
      <name>As an editor I want to be able to publish a new topic.</name>
      <description>Each topic has to have a unique title.</description>
      <!-- priority: 1-MUST_HAVE, 2-SHOULD_HAVE, 3-COULD_HAVE, 4-WONT_HAVE -->
      <priority>
        <id>1</id>
        <name>MUST_HAVE</name>
        <priority>1</priority>
      </priority>
      <estimatedEffort>3.0</estimatedEffort>
      <iteration>
        <id>2</id>
        <name>Iteration 2</name>
        <goal>Goal</goal>
        <plannedVelocity>20.0</plannedVelocity>
        <position>2</position>
        <!-- short date format: yyyy-MM-dd -->
        <startDate>2006-04-01</startDate>
        <duration>7</duration>
      </iteration>
      <!-- color: WHITE, YELLOW, ORANGE, RED, GREEN, BLUE -->
      <color>BLUE</color>
      <acceptingUser>
        <id>1</id>
        <name>Alice</name>
        <login>alice</login>
        <email>alice@nowhere.com</email>
        <active>true</active>
      </acceptingUser>
      <owner>
        <id>2</id>
        <name>Bob</name>
        <login>bob</login>
        <email>bob@nowhere.com</email>
        <active>true</active>
      </owner>
      <!-- acceptanceStatus: PENDING, ACCEPTED, REJECTED -->
      <acceptanceStatus>ACCEPTED</acceptanceStatus>
    </userStory>
    

PUT /userstory/{userStoryId} Updates an existing user story.

You have to provide a complete replacement for the resource. If you omit any xml node, the property will get null value.

  • Request
    PUT http://localhost:8080/tinypm/api/userstory/12 
    <userStory>
      <name>As an editor I want to be able to publish a new topic.</name>
      <description>Each topic has to have a unique title.</description>
      <!-- priority: 1-MUST_HAVE, 2-SHOULD_HAVE, 3-COULD_HAVE, 4-WONT_HAVE -->
      <priority>
        <id>1</id>
        <name>MUST_HAVE</name>
        <priority>1</priority>
      </priority>
      <estimatedEffort>3.0</estimatedEffort>
      <iteration>
        <id>2</id>
      </iteration>
      <!-- color: WHITE, YELLOW, ORANGE, RED, GREEN, BLUE -->
      <color>BLUE</color>
      <owner>
        <id>2</id>
      </owner>
      <acceptingUser>
        <id>1</id>
      </acceptingUser>
      <!-- acceptanceStatus: PENDING, ACCEPTED, REJECTED -->
      <acceptanceStatus>ACCEPTED</acceptanceStatus>
    </userStory>
    

DELETE /userstory/{userStoryId} Deletes the user story.

  • Request
    DELETE http://localhost:8080/tinypm/api/userstory/12 

Tasks

GET /userstory/{userStoryId}/tasks Returns all tasks for a given user story.

  • Request
    GET http://localhost:8080/tinypm/api/userstory/12/tasks 
  • Response
    <tasks>
      <task>
        <id>1</id>
        <name>Write decent documentation.</name>
        <!-- status: PENDING, IN_PROGRESS, COMPLETED -->
        <status>IN_PROGRESS</status>
      </task>
      <task>
        <id>2</id>
        <name>Write sample client code.</name>
        <status>COMPLETED</status>
      </task>
    </tasks>
    

POST /userstory/{userStoryId}/tasks Creates a new task in a given user story.

  • Request
    POST http://localhost:8080/tinypm/api/userstory/12/tasks 
    <task>
      <name>Write decent documentation</name>
      <description>Request-response samples.</description>
      <!-- status: PENDING, IN_PROGRESS, COMPLETED --> 
      <status>COMPLETED</status>
      <!-- long date format: yyyy-MM-dd' 'HH:mm:ss.SSS -->
      <startedAt>2009-07-31 12:49:39.833</startedAt>
      <completedAt>2009-07-31 12:49:39.833</completedAt>
      <assignedUsers>
        <user>
          <id>1</id>
        </user>
        <user>
          <id>2</id>
        </user>
      </assignedUsers>
    </task>
    

GET /task/{taskId} Returns a single task.

  • Request
    GET http://localhost:8080/tinypm/api/task/12 
  • Response
    <task>
      <id>12</id>
      <name>Write decent documentation</name>
      <description>Request-response samples.</description>
      <!-- status: PENDING, IN_PROGRESS, COMPLETED -->
      <status>COMPLETED</status>
      <!-- long date format: yyyy-MM-dd' 'HH:mm:ss.SSS -->
      <startedAt>2009-07-28 20:11:08.581</startedAt>
      <completedAt>2009-07-28 20:11:08.581</completedAt>
      <assignedUsers>
        <user>
          <id>1</id>
          <name>Alice</name>
          <login>alice</login
          <email>alice@nowhere.com</email>
          <active>true</active>
        </user>
        <user>
          <id>2</id>
          <name>Bob</name>
          <login>bob</login>
          <email>bob@nowhere.com</email>
          <active>true</active>
        </user>
      </assignedUsers>
    </task>
    

PUT /task/{taskId} Updates an existing task.

You have to provide a complete replacement for the resource. If you omit any xml node, the property will get null value.

  • Request
    PUT http://localhost:8080/tinypm/api/task/7 
    <task>
      <name>Write decent documentation</name>
      <description>Request-response samples.</description>
      <!-- status: PENDING, IN_PROGRESS, COMPLETED --> 
      <status>COMPLETED</status>
      <!-- long date format: yyyy-MM-dd' 'HH:mm:ss.SSS -->
      <startedAt>2009-07-31 12:49:39.833</startedAt>
      <completedAt>2009-07-31 12:49:39.833</completedAt>
      <assignedUsers>
        <user>
          <id>1</id>
        </user>
        <user>
          <id>2</id>
        </user>
      </assignedUsers>
    </task>
    

DELETE /task/{taskId} Deletes the task.

  • Request
    DELETE http://localhost:8080/tinypm/api/task/7 
? If this documentation doesn't solve your problem or has left you with any questions, please don't hesitate to contact us at support@tinypm.com
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.