We built the webhook that interacts with the Rally APIs and we are currently making changes to get updates from the items that have the custom tag that we add.
Our Webhooks contain a payload of the information in that artifact along with the changes that were made.
At the bottom of the Webhook payload is a section called "changes". Here is a sample of the payload below where I added the "test1" tag and changed the name of the artifact. My webhook was created to watch for any changes made to User Stories for a particular workspace:
"changes":{"<UUID>":{"value":54,"old_value":53,"added":null,"removed":null,"type":"Integer","name":"VersionId","display_name":"VersionId","ref":null},"<UUID>":{"value":null,"old_value":null,"added":[{"name":"test1","ref":"https://rally1.rallydev.com/slm/webservice/v2.x/tag/<UUID>","detail_link":null,"id":"<UUID>","object_type":"Tag"}],"removed":null,"type":"Collection","name":"Tags","display_name":"Tags","ref":"https://rally1.rallydev.com/slm/webservice/v2.x/HierarchicalRequirement/<STORY_OID>/Tags"},"<UUID>":{"value":"ICE 66666","old_value":"ICE 55555","added":null,"removed":null,"type":"String","name":"Name","display_name":"Name","ref":null},
Using the above information from the payload should allow you to determine if a specific Tag has been added.
Here is the JSON body for my webhook:
{
"AppName": "TEST WebhookInbox Integration 16",
"AppUrl": "http://api.webhookinbox.com/i/gRvC1TkZ/in/",
"Name": "TEST WebhookInbox Integration 16",
"TargetUrl": "http://api.webhookinbox.com/i/gRvC1TkZ/in/",
"ObjectTypes": ["HierarchicalRequirement"],
"Expressions": [{
"AttributeName": "Workspace",
"Operator": "=",
"Value":"<UUID>"
}]
}