Найти в Дзене
Кирилл Ледовский

Организация проектов в ERP-Мастер: Как работать над SMD-документом в Git и связать его с Яндекс.Трекер

Git — это в первую очередь инструмент, программное обеспечение. Но вокруг него сложилась определенная культура и практики его использования, которые иногда называют "методологией работы с Git". Давайте разложим по полочкам: Это конкретная программа, система контроля версий (СКВ), которую можно скачать и установить. Её создал Линус Торвальдс (создатель Linux) для управления разработкой ядра Linux. Вывод: Git как ПО — это "молоток и гвозди" для ваших цифровых артефактов. Это неофициальный набор соглашений и лучших практик по использованию инструмента Git в командной разработке. Часто говорят "Git workflow" (рабочий процесс на основе Git). Вывод: "Методология Git" — это регламент, который вы пишете для своей команды, чтобы все использовали "молоток" (инструмент Git) единообразно и эффективно. Термин "Git" мы используем в комплексном смысле: "инструмент + встроенная в него практика работы", которая является технологическим фундаментом вашей методологии SmartBuild Nexus. Почему это критичес
Оглавление

Что такое Git? Простыми словами

Git — это в первую очередь инструмент, программное обеспечение. Но вокруг него сложилась определенная культура и практики его использования, которые иногда называют "методологией работы с Git".

Давайте разложим по полочкам:

1. Git как ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ (Инструмент)

Это конкретная программа, система контроля версий (СКВ), которую можно скачать и установить. Её создал Линус Торвальдс (создатель Linux) для управления разработкой ядра Linux.

  • Что делает: Сохраняет историю изменений файлов, позволяет работать параллельно над разными версиями, объединять изменения.
  • Аналоги: Другие СКВ: Subversion (SVN), Mercurial. Git — самая популярная на сегодня.
  • Контекст использования (у вас): Установленный на компьютерах ваших консультантов и программистов инструмент для работы с:
    Репозиторием SMD-документов (текстовые файлы с описанием процессов).
    Репозиторием кода доработок 1С:ERP.

Вывод: Git как ПО — это "молоток и гвозди" для ваших цифровых артефактов.

2. Git как МЕТОДОЛОГИЯ РАБОТЫ (Практика, Workflow)

Это неофициальный набор соглашений и лучших практик по использованию инструмента Git в командной разработке. Часто говорят "Git workflow" (рабочий процесс на основе Git).

  • Что это: Правила, по которым команда договаривается использовать Git: как называть ветки, как оформлять коммиты, когда и как сливать изменения.
  • Примеры методологий/стратегий:
    Git Flow:
    Строгая модель с ветками develop, feature/*, release/*, hotfix/*. Хороша для проектов с четкими версиями.
    GitHub Flow / Trunk-Based Development: Более простая модель: есть основная ветка (main), вся работа ведется в короткоживущих ветках feature/*, которые быстро сливаются в main. Чаще всего подходит для таких проектов, как ваши.
  • Контекст использования (у вас): Это те правила, которые вы установите в команде:
    "SMD-документы храним в репозитории erp-smartbuild-nexus."
    "Ветку для новой задачи называем smd-<номер_задачи>-краткое-описание."
    "Сообщение коммита начинаем с ключа задачи Трекера: SMD-25: ...."
    "Перед слиянием в main создаем Merge Request (MR) для ревью."

Вывод: "Методология Git" — это регламент, который вы пишете для своей команды, чтобы все использовали "молоток" (инструмент Git) единообразно и эффективно.

Контекст использования в НАШЕМ проекте (ERP-Мастер)

Термин "Git" мы используем в комплексном смысле: "инструмент + встроенная в него практика работы", которая является технологическим фундаментом вашей методологии SmartBuild Nexus.

Почему это критически важно для нас:

  1. Для SMD-документов (Этапы 2.3, 3.1 и др.):
    Инструмент (Git ПО):
    Хранит все версии SMD в виде текстовых файлов (.md).
    Практика (Workflow): Консультант не отправляет SMD по почте. Он делает git commit с сообщением SMD-25: .... Это действие автоматически связывает результат его работы (конкретную версию файла) с задачей SMD-25 в Яндекс.Трекере.
    Итог: Полная traceability (прослеживаемость). Вы всегда можете ответить: "Где итоговый SMD для процесса закупок?" — "В репозитории, закоммичен в задаче SMD-25". "Кто и когда его менял?" — "История коммитов в Git показывает: Иванов 10.01, Петров 12.01".
  2. Для кода доработок 1С (Фаза F):
    Инструмент (Git ПО):
    Хранит код, позволяет откатывать ошибки.
    Практика (Workflow): Программист создает ветку dev-301-plm-api. Все его коммиты автоматически "подвешиваются" к задаче DEV-301. Завершение работы — это не письмо "я сделал", а Merge Request (МR), который проходит ревью.
    Итог: Контроль качества и прозрачность. Руководитель видит не только факт "сделано", но и весь дифф (diff) изменений, обсуждение в MR, и знает, что код проверен коллегой перед попаданием в основную версию.

Простая аналогия из нашей сферы

  • TOGAF/ArchiMate — это методология проектирования архитектуры (ЧТО делать и КАК думать).
  • ПО для моделирования (например, Archi) или Mermaid.js для диаграмм — это инструмент.
  • Ваш регламент "Сначала создаем SMD в три таблицы, затем рендерим диаграмму Mermaid" — это практика (workflow) использования методологии и инструментов.

Так и здесь:

  • SmartBuild Nexus / TOGAF — наша методология (ЧТО делать).
  • Яндекс.Трекер, Git, ИИ-агенты — наши инструменты (С ПОМОЩЬЮ ЧЕГО делать).
  • Правила "Ветка = задача Трекера, коммит = отчет о выполнении этапа" — ваша практика (workflow).

Итоговый ответ: В контексте настройки Яндекс.Трекера, Git — это прежде всего инструмент для контроля версий, который мы интегрируем в свой рабочий процесс. Мы настраиваете Трекер так, чтобы он автоматически принимал "сигналы" из Git (коммиты, мерж-реквесты) и использовал их для обновления статусов задач, создавая тем самым сквозную автоматизированную цепочку от бизнес-требования до артефакта (SMD или кода). Это не методология в высокоуровневом смысле (как TOGAF), а критически важная инженерная практика и инфраструктурный компонент, делающий нашу методологию воспроизводимой и управляемой.

Продолжим. Git — это система контроля версий (СКВ). Представьте, что вы пишете книгу (например, SMD-документ или код).

  • Без Git: У вас есть файл процесс_закупок_v1.docx. Вы вносите правки и сохраняете как процесс_закупок_v2.docx, затем _v3_final.docx, _v3_final_исправлено.docx. Запутаться, потерять нужную версию или понять, кто и что изменил, — очень легко.
  • С Git: У вас есть одна папка (репозиторий) с файлом процесс_закупок.md. Git запоминает каждое изменение в этой папке с момента её создания. Вы можете в любой момент "откатиться" к любой прошлой версии, увидеть, какая строчка кем и когда была добавлена, и параллельно работать над несколькими экспериментальными версиями текста, не боясь сломать основную.

Ключевые сущности Git на примере нашей работы:

  1. Репозиторий (Repo) — главная папка проекта, где хранится вся его история. Например, репозиторий erp-smartbuild-nexus для всех SMD-документов или 1c-erp-modifications для кода доработок.
  2. Коммит (Commit)снимок состояния файлов в определённый момент времени. Это основная "единица истории". Каждый коммит имеет:
    Уникальный хеш (например, a1b2c3d).
    Автора и дату.
    Сообщение (Message), которое поясняет, что было сделано (например, "Добавлен SMD для процесса планирования закупок" или "Исправлен расчет себестоимости в модуле УУЗ").
  3. Ветка (Branch) — независимая линия разработки. По умолчанию всегда есть ветка main (или master) — это "чистовик", стабильная версия.
    Мы создаём новую ветку feature/normalizaciya-nomenklatury от main и работаем над нормализацией, не трогая основной проект.
    Другой разработчик в это время может работать в ветке bugfix/raschet-sebestoimosti.
  4. Слияние (Merge) — процесс интеграции изменений из одной ветки в другую. Когда работа над нормализацией завершена и проверена, вы сливаете ветку feature/normalizaciya-nomenklatury в main.

Почему Git критически важен для ERP-Мастер?

  • История всех SMD-документов: Вы всегда знаете, как эволюционировало описание бизнес-процесса.
  • Командная работа над кодом: Несколько программистов могут работать над разными доработками 1С, не мешая друг другу.
  • Атомарность и traceability (прослеживаемость): Каждое изменение (коммит) можно связать с конкретной задачей в Трекере.

Как работать с Git в Яндекс.Трекере: Интеграция и примеры

Интеграция строится на связи коммитов в Git с задачами в Трекере. Это делается через специальный синтаксис в сообщениях коммитов.

Базовый синтаксис связи

В сообщении коммита или в названии ветки нужно указать ключ задачи из Трекера.

Ключ задачи — это уникальный идентификатор, обычно вида ERP-123, BA-45, FC-12.

  • В сообщении коммита: textERP-123: Добавлена спецификация API для интеграции с АСКОН
    * Расширен контракт сервиса загрузки спецификаций
    * Добавлены коды ошибок
    Система автоматически найдёт задачу ERP-123 и привяжет к ней этот коммит.
  • В названии ветки (опционально, но очень полезно):
    ERP-123-integration-askon-api

Пошаговые сценарии работы (на примерах)

Сценарий 1: Консультант работает над SMD-документом (Этап 2.3)

  1. В Трекере: Вы создали задачу [Этап 2.3] Разработка модели бизнес-процессов "Управление закупками" с ключом SMD-25.
  2. В Git: Консультант создаёт новую ветку от main:bashgit checkout -b smd-25-process-zakupki
  3. Консультант создаёт/редактирует файл docs/smd/25-upravlenie-zakupkami.md, используя нашу методологию (текстовые таблицы, Mermaid-диаграммы).
  4. После завершения работы консультант делает коммит: bashgit add docs/smd/25-upravlenie-zakupkami.md
    git commit -m "SMD-25: Готово детальное описание процесса закупок
    * Добавлен паспорт процесса и KPI
    * Описаны 12 основных операционных шагов
    * Приложена схема интеграции с ОМТС"
  5. В Трекере: В задаче SMD-25 на вкладке «Коммиты» автоматически появится запись об этом коммите со ссылкой на него в Git. Руководитель видит, что задача фактически выполнена и результат уже в репозитории.

Сценарий 2: Программист выполняет доработку по ТЗ (Этап 3.5 -> Фаза F)

  1. В Трекере: На основе этапа 3.5 создана задача на реализацию: [F.1] Реализация API-метода загрузки ТП из Лоцман:PLM с ключом DEV-301.
  2. В Git: Программист создаёт ветку для задачи:bashgit checkout -b dev-301-plm-integration-api
  3. Программист пишет код в конфигурации 1С. Делает коммиты по мере готовности логических блоков:bashgit commit -m "DEV-301: Добавлен базовый модуль обработки обмена
    * Объявлены структуры данных для спецификаций"
    git commit -m "DEV-301: Реализован HTTP-клиент для запросов к PLM
    * Добавлена обработка ошибок сети и таймаутов"
  4. Когда код готов, программист создаёт Merge Request (MR) или Pull Request (PR) — запрос на слияние своей ветки dev-301-plm-integration-api в основную ветку main. В описании MR он снова указывает DEV-301.
  5. В Трекере: В задаче DEV-301 появляется не только список коммитов, но и ссылка на Merge Request. Руководитель или тимлид может перейти по ней, увидеть весь изменённый код (diff), обсудить его и утвердить слияние. Статус задачи можно автоматически перевести в «Готово к тестированию» при создании MR.

Сценарий 3: Тестировщик обнаружил баг во время Этапа 3.4

  1. Во время испытаний бизнес-сервисов (Этап 3.4) тестировщик находит ошибку.
  2. Он создаёт в Трекере в очереди Разработка 1С (DEV) задачу с типом «Ошибка»: [Баг] При массовой загрузке номенклатуры падает исключение с ключом BUG-45.
  3. Программист, исправляя её, создаёт ветку bugfix/45-mass-upload-crash.
  4. После исправления коммит BUG-45: Исправлено переполнение буфера при парсинге CSV автоматически связывается с задачей. Тестировщик видит, что исправление готово, и может перепроверить.

Настройка интеграции в Яндекс.Трекере

  1. В настройках очереди (например, Разработка 1С (DEV)) перейдите в раздел «Интеграции» -> «Репозитории».
  2. Добавьте ваш Git-репозиторий (с GitHub, GitLab, Bitbucket или из вашего собственного сервера). Нужно будет предоставить доступ (токен или логин/пароль).
  3. Настройте автоматизацию (Правила):
    Правило: Когда в репозиторий erp-smartbuild-nexus поступает коммит с сообщением, содержащим SMD-* -> Добавить ссылку на коммит к задаче с соответствующим ключом.
    Правило: Когда для репозитория 1c-erp-modifications создаётся Merge Request для ветки, содержащей DEV-* -> Перевести задачу в статус REVIEW и добавить ссылку на MR.

Итог: Выгоды для вашего процесса

-2

Итого: Используем Git не только для кода, но и для всей проектной документации (SMD, ТЗ, отчёты по этапам). Это превратит наш проект в полностью воспроизводимый и отслеживаемый цифровой продукт, где каждая строчка изменений привязана к бизнес-задаче.