다음 릴리스 활동자를 위한 활동
Status: Experiment
- GitLab 16.5에서 소개되었으며
activity_pub
와activity_pub_project
라는 두 가지 플래그로 이름이 지정되었습니다. 기본적으로 비활성화됩니다. 이 기능은 실험입니다.
플래그:
Self-Managed형 GitLab의 경우, 기본적으로이 기능을 사용할 수 없습니다. 관리자는 activity_pub
및 activity_pub_project
라는 피처 플래그를 활성화할 수 있습니다.
GitLab.com 및 GitLab Dedicated의 경우,이 기능을 사용할 수 없습니다.
이 기능은 프로덕션용으로 준비되지 않았습니다.
이 기능에는 두 가지 피처 플래그가 필요합니다.
-
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,
},
},
}