hi,各位。因为公司业务的需求,打算整合 gitlab 和 redmine。如果按照 gitlab 官网的配置,只是能够在 issue tracker 链接到 redmine 中而已,并不能同步项目和成员。
现在有个小需求是,实现 project 的同步。比如,在 gitlab 里面选择 redmine 作为 issue tracker 的时候,能够去检查 redmine 中是否已经有同名项目存在,不存在则直接创建该项目,省去手动创建的麻烦。下一步是实现成员的同步。
新接触 rails 不久,大概想了一下思路,应该是找到 gitlab 中 update project 的 action,在其中增加同步到 redmine 的逻辑即可。不过实际实现过程中,遇到了一些问题。根据 redmine 的官方文档,我只需要创建一个 Project 类,然后调用相关方法即可。
起初我把这个类直接放到 update action 中,但是 rails 提示不行。于是放到 projects helper 中,但是我这时才发现,这个 class 名跟 gitlab 本身的 model 名重复了。我应该把这个 active resource 的类放到哪里呢?改名也是不行的,否则 redmine 的 api 接口就返回 404 了。