Associate Source Control Items to TeamPulse Work Items via Comments

Associate Git commits with TeamPulse work items

You can associate Git commits to TeamPulse work items using special syntax in the comment of each commit.  To do so you just have to mention the TeamPulse work item ID prefixed with # in the commit's comment. 

Example: 'fixed bug #1234' - where 1234 is the TeamPulse work item ID.

Note: The ID in the comment should be surrounded by space or by the following supported puctuation characters: . , : ; [ ] { } ( ) - | /

Change item's status and log time against tasks

Changing item's status and logging time against a task in TeamPulse requires edit permissions of the user that makes the change (simply associating a commit, as described in the previous paragraph, did not require permissions). This is why TeamPulse needs to recognize which is the user that made the commit. For this purpose the following comparisons are made when processing each commit:
1. Does the Git username match any TeamPulse username?
2. Does the Git user's email match the email of a TeamPulse user?
3. Does the Git username match the full name (first + last name) of a TeamPulse user?
If no match with a user is found or the matched user does not have edit item permissions - the commit will be associated and displayed in the TeamPulse item, but the status change and the task time entry will not be processed.

Once the user that made the commit is successfully resolved as a TeamPulse user having the needed permissions, you can change the status of an item or log time against a task via the commit's comment:

  1. Change item's status.
    For this purpose prefix "status:" is used followed by the new status.
    'disable button when nothing is selected #1234 status:Done' 
    '#1234 status:"In Progress" - disable button when nothing is selected
     If the new status is a single word (like Done) it does not need quotes, but if it is a phrase like In Progressyou have to use quotes.
    **The new status is set only if the transition from the old one to the new one is allowed otherwise it is ignored. Read more about Custom States & Transitions.

  2. Log time against tasks.
    For this purpose prefixes "time:" or "time:=" can be used followed by a numeric value.
    '#1234 status: "In Progress" time:1.5'
    '#1234 status: "In Progress" time:=2'

    * Use the time: prefix to create new time entry or add(accumulate) time to already existing time entry.
    Using the "equals" sign (=) before the number value (e.g.: time:=2) will create a new time entry or overwrite the time of an existing time entry. Read more about Time Tracking.
    * If it is a fraction number the delimiter can be period (.) or comma (,). If the value is not recognized as a valid number, it is ignored. 
    *** Logged time is for the user that made the check-in and the default time entry type is used (if more than one is defined in TeamPulse).