# Definition of Done v2 1. Checked if ticket is marked as `Ready`. If `In Definition`, leave a comment tagging the relevant cPacket member to check if it can be taken, if there are no other tickets available in `To Do` column ![](https://i.imgur.com/EMazooG.png) 2. Analyzed ticket in terms of provided description and priorities - checked if ticket is understandable and asked for more details(client/team members) if necessary. Ticket must contain: * description of a problem or feature * For bugs: * Way to reproduce it * Screenshots / video of achieving it * For features * Link to the design There might be cases, when problem is easy to fix (ex. change translation text / colour). We don't need additional information in such situations, a proper description and screenshot is enough. 3. Checked if ticket can be taken - there is no one assigned to it, and it does not await for other cases to be resolved (ex. backend updates on the client side / is blocked by another ticket etc.) 4. Assigned ticket to yourself and moved it to `In Progress` column (Jira) 5. If there's a blocker - e.g. backend not available, leave a comment in Jira ticket requesting the relevant cPacket member to provide what's missing 6. Produced solution according to the ticket description and defined code-style. 7. Updated `package.json` and `CHANGELOG.md` for specific library, and updated `library-demo` application with developed feature - applicable for Common UI Library. 8. Created additional tests (if necessary - applicable for Common UI Library) 9. Tested manually and made sure everything is working as intended. ( **Test library-demo in Common UI Library** ) 10. Run UnitTests and all have passed. Applicable for: * cStor * **Common UI Library** 11. Production build run without errors (every project has a command to do it). 12. Made sure that current branch is up to date with `next` (or other in specific situations) 13. Created pull request to the `next` (or other if said) branch with proper description: ``` What was changed (link to the issue) Example: Add UI support for ZTP Issue: CCLEAR-12345 ``` 13. Requested at least 2 people from Monte and cPacket side for code review * cClear: Alex, Unni, Johnathan * cStor: Kellen, Cheng, Naathan, Johnathan, Veena(in some situations) * Common-UI: Kellen, Cheng, Johnathan, Alex(in some situations) * eWok: Kellen, Cheng, Naathan, Johnathan 15. Moved ticket to the `Code Review` column (Jira) 16. Code review approved: * cClear: 1 Monte and 1 cPacket approval * cStor: any 2 approvals **(!)** * common-ui: any 2 approvals **(!)** * ewok: 1 Monte and 1 cPacket approval **(!) - keep in mind that, if there are big/breaking changes, cPacket approval is mandatory (ex. enabling strictTemplates in Common UI Library & cStor)** 16. Every conversation or doubt from any side in pull request is resolved (**look also on "Files" section in PR, because GH does not always move those messages to the Overview page**) 17. TeamCity build passed without errors (is always run after push to a branch - can be seen on pull request page on GitHub) 18. AWS PR build run without errors (applicable only for Common UI Library for now) 19. PR is merged with a proper commit message: ``` Short description of changes * list of needed changes for completing this task Issue: CODE-TICKET_NUMBER Example: Add UI support for ZTP feature * change type of X from string to boolean * add missing properties to Y type Issue: CCLEAR-12345 ``` 20. Ticket is moved to the Monterail `QA` column (Jira) 21. Ticket is tested by Monte QA (provide details for QA if necessary) on the prod environment if possible 22. Ticket is moved to Monte `Done` column, and it's status is set to `Staged` 23. Ticket is moved to the client's `QA` column, as it's status is set to `QA` 24. Ticket is tested by client's QA 25. Ticket is marked as **Ready** (Jira) with the comment similar to: ``` Verified on build 1.2.3.4.5 ```