Синтаксис обработчиков настраиваемых полей при использовании Jira/Rally Connector

Я работаю над интеграцией Jira/Rally (CA Agile Central) и могу получить базовую синхронизацию, однако некоторые поля требуют более сложного преобразования при синхронизации их между Jira и Rally.

Для этого я вижу, что CA Agile Connector (https://help.rallydev.com/jira-installation-user-guide) обеспечивает некоторую поддержку «настраиваемых обработчиков полей», которые написаны на Ruby и имеют следующий формат:

# Copyright 2015 CA Technologies.  All Rights Reserved.
require 'rallyeif/wrk/field_handlers/field_handler'

module RallyEIF
  module WRK
    module FieldHandlers
      class MyCustomFieldHandler < OtherFieldHandler
        def initialize(field_name = nil)
          super(field_name)
        end

        # ... more code here ...
      end
    end
  end
end

Однако, когда я создаю этот файл и добавляю следующее в конфигурацию моего соединителя:

...
<Connector>
    <FieldMapping>
        <Field>
            <Rally>Description</Rally>
            <Other>Description</Other>
            <Direction>TO_RALLY</Direction>
        </Field>
        ...
    </FieldMapping>

    <OtherFieldHandlers>
        <MyCustomFieldHandler>
            <FieldName>Description</FieldName>
        </MyCustomFieldHandler>
    </OtherFieldHandlers>

</Connector>
...

При запуске соединителя я получаю следующую ошибку:

[2017-08-22 20:25:39 Z] ERROR : RallyEIF::WRK::Connector.rescue in block in read_field_handlers - For RallyEIF::WRK::JiraConnection: Could not find class for MyCustomFieldHandler

В документации вообще не упоминается, как использовать настраиваемые обработчики, поэтому мне интересно, использовал ли кто-нибудь эту функцию и может поделиться некоторой информацией о том, как объявить и использовать обработчики настраиваемых полей.


person oarevalo    schedule 22.08.2017    source источник


Ответы (1)


Я протестировал версию коннектора 4.7.2, и она сработала. Что нужно проверить:

  • в папке, где вызывается коннектор, должна быть папка с именем "field_handlers"
  • в этой папке "field_handlers" должен быть файл (как вы показали выше) с "классом MyCustomFieldHandler ‹...."

На страницах справки есть пример. Это для HP-ALM (QC), а не для JIRA, но концепция та же:

Конец идей на данный момент.

person JPKole    schedule 23.08.2017
comment
Спасибо, проблема была в том, что я не использовал папку field_handlers. Я понял это, распаковав гем и просмотрев исходный код. Как только я переместил свой рубиновый код в эту папку, все заработало. - person oarevalo; 23.08.2017