다음 릴리스 액터 활동
Status: Experiment
- GitLab 16.5에 도입되었습니다.
activity_pub
및activity_pub_project
라는 두 가지 플래그로 환경 설정됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
자체 관리 GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 기능 플래그를 활성화해야 합니다. GitLab.com 및 전용 GitLab에는 이 기능을 사용할 수 없습니다. 해당 기능은 프로덕션 환경에 준비되지 않았습니다.
이 기능은 두 가지 기능 플래그를 필요로 합니다.
-
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,
},
},
}