Activity Assignments

Activity assignments link a user or group (including "all users") to an activity or all activities.

You can check if activities are enabled using the Account Information interface (account / time-settings / show-activities). Administrators can enable activities from Syncd's web interface via Settings / Time Tracking.

Only Activity Managers can view, create and delete activity assignments. If you'd like to view assigned activities instead of activity assignments, use the Activities interface.

Show

Request

GET /activity_assignments/#{activity-assignment-id}.xml

Optional parameters

The following optional parameters can be used to include extra data:

include=[users,
         user_groups,
         activities]

Response

 1 Status: 200 OK
 2 
 3 <activity-assignment>
 4   <id type="integer">#{activity-assignment-id}</id>
 5   <!-- if assigned to all users --->
 6   <users>all</users>
 7   <!-- else if assigned to a user -->
 8   <!--   if include=users -->
 9   <user>
10     ...
11   </user>
12   <!--   else -->
13   <user-id type="integer">#{user-id}</user-id>
14   <!--   end -->
15   <!-- else if assigned to a user group --->
16   <!--   if include=user_groups -->
17   <user-group>
18     ...
19   </user-group>
20   <!--   else -->
21   <user-group-id type="integer">#{user-group-id}</user-group-id>
22   <!--   end -->
23   <!-- end -->
24   <!-- if assigned to all activities --->
25   <activities>all</activities>
26   <!-- else if include=activities -->
27   <activity>
28     ...
29   </activity>
30   <!-- else -->
31   <activity-id type="integer">#{activity-id}</activity-id>
32   <!-- end -->
33   <!-- if include=timestamps -->
34   <created-at type="datetime">2008-01-08T03:47:52Z</created-at>
35   <updated-at type="datetime">2008-01-08T03:47:52Z</updated-at>
36   <!-- end -->
37 </activity-assignment>

List

Request

All activity assignments:

GET /activity_assignments.xml

Assignments related to a particular activity (includes assignments to all activities):

GET /activities/#{activity-id}/assignments.xml

Direct assignments to a particular activity (excludes assignments to all activities):

GET /activities/#{activity-id}/assignments/direct.xml

Assignments related to a particular user (includes assignments to the user's groups and all users):

GET /users/#{user-id}/activity_assignments.xml

Direct assignments to a particular user (excludes assignments to the user's groups and all users):

GET /users/#{user-id}/activity_assignments/direct.xml

Assignments for a particular user group:

GET /user_groups/#{user-group-id}/activity_assignments.xml

Since all assignments to user groups are direct, there's no separate method for requesting only direct assignments.

Optional parameters

Specify start and end to request a specific range of items. For example:

GET /activity_assignments.xml?start=1&end=4

The following optional parameters can be used to include extra data:

include=[users,
         user_groups,
         activities]

For example:

GET /activity_assignments.xml?include=users,user_groups,activities

Response

1 Status: 200 OK
2 
3 <activity-assignments type="array">
4   <activity-assignment>
5     ...
6   </activity-assignment>
7   ...
8 </activity-assignments>

Create

Request

POST /activity_assignments.xml

Include the following data with your request:

 1 <activity-assignment>
 2   <!-- A user, user group, or all users must be included -->
 3   <!--   To specify a user: -->
 4   <user-id>#{user-id}</user-id>
 5   <!--   To specify a user group: -->
 6   <user-group-id>#{user-group-id}</user-group-id>
 7   <!--   To specify all users: -->
 8   <users>all</users>
 9   <!-- An activity or all activities must be included -->
10   <!--   To specify an activity: -->
11   <activity-id>#{activity-id}</activity-id>
12   <!--   To specify all activities: -->
13   <activities>all</activities>
14 </activity-assignment>

For example, to assign a user to a specific activity:

1 <activity-assignment>
2   <user-id>25</user-id>
3   <activity-id>14</activity-id>
4 </activity-assignment>

Response

 1 Status: 201 Created
 2 
 3 <activity-assignment>
 4   <id type="integer">#{new-activity-assignment-id}</id>
 5   <user-id type="integer">25</user-id>
 6   <activity-id type="integer">14</activity-id>
 7   <!-- if include=timestamps -->
 8   <created-at type="datetime">2008-01-08T03:47:52Z</created-at>
 9   <updated-at type="datetime">2008-01-08T03:47:52Z</updated-at>
10   <!-- end -->
11 </activity-assignment>

Delete

Request

DELETE /activity_assignments/#{activity-assignment-id}.xml

Response

Status: 200 OK

Continue to Time Entries

Follow Syncd on Twitter Subscribe to the Syncd News