Skip to main content
All CollectionsBest Practice GuidesTicketing
How to leverage our Rally Integration
How to leverage our Rally Integration

Tips and Tricks on how to leverage our Rally Ticketing Integration

Updated over a week ago

This help article provides guidance to developers who are looking to integrate with Rally via Merge. Rally is an enterprise-level project management platform, and integrating with it can help streamline your development process. By following these tips and tricks, you can ensure a successful integration with Rally via Merge.

What are the different types of Tickets that Merge normalizes?

  • HierarchialRequirement β€” this represents in User story in the Rally UI.

  • Task

  • Defect

  • DefectSuite

  • PortfolioItem/Feature

  • PortfolioItem/Initiative

What are the different types of Collections that Merge normalizes?

  • Project

  • Milestone

  • Release

  • Iteration

What does POST Ticket request body look like, for each ticket_type?

HierarchialRequirement

{
"model": {
"name": "A user story by Merge",
"tags": ["test_tag_1", "test_tag_2"],
"status": "IN_PROGRESS",
"assignees": ["58ff1a57-a307-47c4-bcac-d7810c2f1693"],
"collections": ["8340a7a5-e997-4907-837a-2508ab611a49","3ea7bd0b-9c30-47a0-b88b-2c31deab0ee7","55cb37b5-8463-4195-9d0f-40546763d4f6","6b979936-a0d8-45c3-af2d-5a483598a3ca"],
"description": "A description",
"ticket_type": "HierarchicalRequirement",
"parent_ticket": "b03dfc5b-7bc2-443e-aa7f-d13ced3d2331"
}
}

Defect

{
"model": {
"name": "A defect by Merge",
"tags": ["test_tag_1", "test_tag_2"],
"status": "IN_PROGRESS",
"due_date": "2023-06-02T00:00:00Z",
"assignees": ["58ff1a57-a307-47c4-bcac-d7810c2f1693"],
"collections": ["8340a7a5-e997-4907-837a-2508ab611a49","3ea7bd0b-9c30-47a0-b88b-2c31deab0ee7","55cb37b5-8463-4195-9d0f-40546763d4f6","6b979936-a0d8-45c3-af2d-5a483598a3ca"],
"description": "<b>A description</b>",
"ticket_type": "Defect"
}
}

PortfolioItem/Feature β€” Note that if including parent_ticket, it must be of type PortfolioItem/Initiative.

{
"model": {
"name": "A portfolioitem/feature by Merge",
"tags": ["test_tag_1"],
"status": "Discovering",
"assignees": ["58ff1a57-a307-47c4-bcac-d7810c2f1693"],
"collections": ["8340a7a5-e997-4907-837a-2508ab611a49","3ea7bd0b-9c30-47a0-b88b-2c31deab0ee7","55cb37b5-8463-4195-9d0f-40546763d4f6"],
"description": null,
"ticket_type": "PortfolioItem/Feature",
"parent_ticket": "7ca62c1f-f089-4ac6-b485-94e0a1c7cd49"
}
}

PortfolioItem/Initiative

{
"model": {
"name": "A portfolioitem/initiative by Merge",
"tags": ["test_tag_1"],
"status": "Discovering",
"assignees": ["58ff1a57-a307-47c4-bcac-d7810c2f1693"],
"collections": ["8340a7a5-e997-4907-837a-2508ab611a49","55cb37b5-8463-4195-9d0f-40546763d4f6"],
"description": "<b>A new roadmap thing</b>",
"ticket_type": "PortfolioItem/Initiative"
}
}

Task β€” name, collections of type Project, & parent_ticket are all required.

{
"model": {
"name": "A task by Merge",
"tags": ["test_tag_1"],
"status": "In-Progress",
"assignees": ["58ff1a57-a307-47c4-bcac-d7810c2f1693"],
"parent_ticket": "ca65c4c3-52df-475a-943b-1a806d50dfab",
"collections": ["8340a7a5-e997-4907-837a-2508ab611a49"],
"description": "<b>A new task</b>",
"ticket_type": "Task"
}
}

Did this answer your question?