다음 릴리스 액터 활동

Status: Experiment
자체 관리 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,
    },
  },
}