Project planning is based on the amount of work that must be done. In software development, that amount of work is the set of primary (user) requirements.
Primary requirements can come from support, from customer representatives, from marketing, and from project participants. The full scope of requirements is usually not known in advance, and they keep changing. Developers therefore work with a stream of primary requirements, which is conveniently shown as a log (backlog).
The backlog contains every unfinished primary requirement and is the source of primary requirements for project participants.
Another source of the backlog can be a "Technical specification" document whose sections describe the steps that must be carried out. Work on individual sections of the technical specification can be planned in the project as tasks or requirements.
To standardize how primary requirements are documented, you can use issue or story templates. To create a template, open the card of an issue or story that already exists, then in the Actions menu choose "Create template from". The template is then available on the orange button, to create a primary requirement with parameters saved in advance (priority, state, assignee, iteration, and so on).
Templates can also be edited and new ones created in the project settings: Settings — Templates and processes — Story/issue templates.
Also use text templates, which can be inserted quickly into the description of a primary requirement after a # (hash) character
As with requirements approval, you can set up a process for approving issues or stories by a group of project participants. For more on configuring approval, see Starting an approval