Is there a way how i can create dependency between two standard issue types using workflow and based on status of one of the issues? For example, i should not be able to close the story, until all linked defects will be closed.
Yes, there are a number of ways you can do this. You should consider using Post-functions (conditionals and validators).
My team has a plugin called JMWE (Jira Misc Workflow Extensions) and it has a condition specifically for this issue:
It required that a linked ticket be in a specific status before letting the other ticket move in the workflow.
If you use a the same plugin, it will also display an error message for the user (you have to write the error message, but it's just plain text) that will be displayed with the condition is not met.
Recommended Learning For You
Level up your skills with Atlassian learning
Redesign your workweek
Configure your calendar to prioritize high-impact work and goals. You'll learn how to set daily priorities, prioritize essential meetings, and schedule focus time.
How to run effective meetings
Lead efficient meetings that have clear goals, keep your attendees actively engaged, and use the Atlassian Playbook to improve meeting success.
How to build strategic guidance
Build a high-performing, effective team by providing clarity, defining success, and making it clear who will benefit from your efforts — a technique we call strategic guidance.