‘사용자를 그룹에 추가…’ 스크립트의 두 트리거에 필드 입력이 다릅니다

“Add user to group through User Custom Field” 스크립트를 살펴보면 몇 가지 문제가 있는 것 같습니다. “User first logged in” 트리거가 선택된 경우, “User Custom Field name” 입력값에는 사용자 필드의 _이름_이 설정되어야 합니다. 예를 들어 "Native Language"와 같이요. 하지만 “Recurring” 트리거가 선택된 경우, “User Custom Field name” 입력값은 사용자 필드의 id를 기반으로 설정해야 합니다. 예를 들어 "user_field_5"와 같이요.

Recurring 트리거 사용 시 이름을 찾는 방법에 대한 자세한 내용은 여기에 있습니다: Finding Userfield Custom Name for 'Add user to group through User Custom Field' - #2 by leonardo.

이상적으로는 친숙한 이름(예: “Native Language”)이 사용 가능한 두 트리거 모두에 대해 올바른 값으로 사용되어야 합니다. 관련 코드는 여기에 있습니다: https://github.com/discourse/discourse-automation/blob/main/lib/discourse_automation/scripts/add_user_to_group_through_custom_field.rb. “User first logged in” 트리거가 필드 이름(대신 id가 아닌)으로 올바른 사용자 커스텀 필드를 찾는 로직은 여기에 있습니다:

https://github.com/discourse/discourse-automation/blob/main/lib/discourse_automation/scripts/add_user_to_group_through_custom_field.rb#L54-L67

아마도 이 로직을 Recurring 트리거에 적용할 수 있는 하위 호환성 있는 방법이 있을 것입니다.

3개의 좋아요

참고로, 이 내용은 워크스루에 언급되어 있습니다:

일관성을 위해 스크립트를 재작성하는 것에 대해 언급했지만, 아직 우선순위가 정해지지 않았습니다. 또한 public user custom fields와 staff user custom fields 관리자 설정도 이와 맞추는 것이 좋겠습니다.

(또한 ‘friendly name’을 사용하는 poll groupable user fields도 있습니다)

4개의 좋아요

이 문제를 수정하기 위한 PR입니다:

2개의 좋아요

이제 기존 사용자 사용자 정의 필드를 선택할 수 있는 새로운 드롭다운 메뉴가 추가되어 이 문제가 해결되었습니다. 이 기능은 두 가지 트리거 모두에서 작동합니다. :partying_face:

2개의 좋아요