다음 릴리스를 위한 활동 배우
상태: Experiment
Self-managed GitLab에서는 기본적으로 이 기능이 사용할 수 없습니다. 이를 사용 가능하게 하려면, 관리자가
activity_pub
및 activity_pub_project
라는 기능 플래그를 활성화할 수 있습니다.GitLab.com 및 GitLab Dedicated에서는 이 기능이 사용할 수 없습니다.
이 기능은 production 환경에서 사용할 준비가 되어 있지 않습니다.
이 기능은 두 개의 기능 플래그를 필요로 합니다:
-
activity_pub
: 모든 ActivityPub 관련 기능을 활성화하거나 비활성화합니다. -
activity_pub_project
: 프로젝트에 특정한 ActivityPub 기능을 활성화하거나 비활성화합니다.activity_pub
플래그도 활성화되어야 합니다.
프로필
이 배우의 프로필은 다른 배우와 약간 다릅니다. 우리는 특정 릴리스에 대한 활동을 표시하지 않고, 특정 프로젝트에 대한 릴리스를 표시하고자 합니다.
프로필 엔드포인트는 Projects::ReleasesController#index
에서 릴리스 목록을 처리하며, 다음과 같은 방식으로 응답해야 합니다:
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": PROJECT_RELEASES_URL,
"type": "Application",
"name": PROJECT_NAME + " 릴리스",
"url": PROJECT_RELEASES_URL,
"content": PROJECT_DESCRIPTION,
"context": {
"id": PROJECT_URL,
"type": "Application",
"name": PROJECT_NAME,
"summary": PROJECT_DESCRIPTION,
"url": PROJECT_URL,
},
"outbox": PROJECT_RELEASES_OUTBOX_URL,
"inbox": null,
}
아울박스
릴리스 배우는 상대적으로 간단합니다: 발생하는 유일한 활동은 릴리스 생성 이벤트입니다.
{
"id": PROJECT_RELEASES_OUTBOX_URL#release_id,
"type": "Create",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"actor": {
"id": USER_PROFILE_URL,
"type": "Person",
"name": USER_NAME,
"url": USER_PROFILE_URL,
},
"object": {
"id": RELEASE_URL,
"type": "Application",
"name": RELEASE_TITLE,
"url": RELEASE_URL,
"content": RELEASE_DESCRIPTION,
"context": {
"id": PROJECT_URL,
"type": "Application",
"name": PROJECT_NAME,
"summary": PROJECT_DESCRIPTION,
"url": PROJECT_URL,
},
},
}