TaskGoblin은 두 종류의 도구에 연결되며, 이 구분이 가입 방식을 결정합니다.
- git 제공사 — GitLab 또는 GitHub — 는 저장소를 제공하고 조직을 준비합니다. 조직당 정확히 하나이며, 로그인할 때 정해집니다.
- 기능 제공사 — Linear, Jira, Slack, Microsoft Teams — 는 루프가 실행되고 고블린이 보고할 무대를 더합니다. 이들은 이미 가진 조직에 연결합니다.
모두 조직 메뉴의 통합에서 관리합니다(/{organisation}/integrations).
제공사를 연결하면 그 기본 루프가 설치됩니다. 기억해 둘 실질적인 결과입니다. 통합은 자격 증명만이 아니라 함께 딸려 오는 상시 동작 한 묶음입니다. 무엇이 설치되는지는 이벤트 루프를 보세요.
git 제공사(GitLab 또는 GitHub)
로그인하는 것이 곧 git 제공사를 연결하는 것입니다. 한 번의 OAuth 동의로 인증과 조직·저장소 준비가 함께 끝납니다. "저장소 연결" 단계가 따로 없는 이유입니다.
GitLab
GitLab을 연결하면 소속 그룹을 나열해 각각에 TaskGoblin 조직을 만들고, 개인 조직도 하나 만듭니다. 고블린은 머지 리퀘스트와 이슈에 @taskgoblin 으로 글을 씁니다. 토큰 갱신이 필요하면 통합 페이지에서 한 번의 클릭으로 다시 연결할 수 있습니다.
설치: 머지 리퀘스트 리뷰, 배정된 이슈 처리.
GitHub
GitHub은 고전적인 OAuth 앱이 아니라 GitHub App 입니다. 원하는 조직에 TaskGoblin 앱을 설치하면 각 설치가 하나의 TaskGoblin 조직이 됩니다. 앱은 필요할 때마다 수명이 짧은 설치 토큰을 발급하고, 고블린은 taskgoblin[bot] 으로 글을 씁니다. 권한이 설치 자체를 통해 갱신되므로 GitHub 조직은 수동 재연결이 필요 없습니다.
설치: 풀 리퀘스트 리뷰, 라벨 붙은 이슈 처리.
git으로 준비된 조직은 그것을 만든 제공사에 묶입니다 — 해당 제공사 카드에는 연결 해제 대신 다시 연결이 표시됩니다.
기능 제공사
Linear
활성 조직에 대한 한 번의 클릭 OAuth 동의입니다. 연결하면 고블린은 TaskGoblin 에이전트에 배정된 이슈를 가져오고, 이슈와 코멘트를 맥락으로 읽고, 상태·활동·머지 리퀘스트 링크를 이슈에 다시 올립니다.
설치: 배정된 이슈 처리.
Jira
Atlassian OAuth 동의로 Jira 사이트를 활성 조직에 연결합니다. 고블린은 TaskGoblin 계정에 배정된 이슈를 가져오고 이슈 코멘트의 멘션에 답합니다. 답변은 이슈의 코멘트로 남기며, 요청하면 워크플로도 진행시킵니다.
Jira 이슈는 저장소를 명시하는 경우가 드물어서, 고블린은 요청 내용과 조직 메모리, 연결된 저장소로부터 목적지를 알아냅니다. 정말 알 수 없을 때는 추측하지 않고 묻습니다. 한 번 알려 주면 충분합니다 — 답을 적어 두니까요.
설치: 배정된 이슈 처리.
Slack
Slack을 연결하면 누구나 스레드에서 고블린을 멘션하고, 대화가 벌어지는 그 자리에서 답을 받습니다. 봇 토큰은 만료되지 않아 갱신할 것이 없습니다. 지시문이 채널을 지정한 경우 일정 루프의 요약과 알림도 Slack으로 갑니다.
자체 루프는 설치하지 않습니다 — 무대이지 트리거가 아닙니다.
Microsoft Teams
Teams 채널, 그룹 채팅, 다이렉트 메시지에서 고블린을 멘션하면 그 자리에서 답하고, 작업이 진행되는 동안 자기 메시지를 계속 고쳐 씁니다. 연결 시 Microsoft 테넌트가 검증되며, 여러분이 관리할 봇 토큰은 없습니다.
자체 루프는 설치하지 않습니다.
고블린은 어떻게 자기 자신으로 인증하나
TaskGoblin에 개인 액세스 토큰을 붙여 넣을 일은 없고, 고블린이 여러분의 자격 증명을 볼 일도 없습니다.
제공사마다 고유한 봇 정체성이 있습니다 — GitLab·Slack·Teams에서는 @taskgoblin, GitHub에서는 taskgoblin[bot]. 샌드박스 안에서 git 자격 증명은 실행 시점에 조직 단위로 준비되어(GitLab OAuth 토큰이나 새로 발급된 GitHub 설치 토큰) 에이전트에게 읽으라고 건네지는 대신 그 주위 환경에 주입됩니다.
이 경계는 의도적인 것이며, 고블린이 건네받은 git 토큰이 아니라 자기 통합을 통해 코멘트하는 이유이기도 합니다. 여러분의 토큰으로 올린 코멘트는 여러분 이름으로 보이기 때문입니다. 고블린이 하는 말은 모두 고블린 자신의 이름으로 나갑니다.
연결 해제
통합 페이지에서 제공사를 해제하면 고블린은 즉시 그 접근 권한을 잃습니다 — 거기에 의존하던 루프는 실행을 멈추고, 더 이상 읽거나 올리지 않습니다. 다시 연결하면 같은 연결이 복원됩니다.