In order to allow for a smooth integration of the Open Project we need to set up a service account. We will call it amberService in this guide. It needs to have access to each project individually through a local role as well as to some administrative features such as the users list or the project memberships through a global role.
In the following guide we go though the required steps to setup the service account.

Create service account amberService

As an administrator, you can create a new user at /users/new or by clicking on your profile icon on the top right β†’ Administration β†’ Users and permissions β†’ Users β†’ + User.

Fill out the User creation form as shown in the screenshot and click Create.

Create global role amberServiceRole

New roles can be created at /admin/roles/new or by navigating through Users and permissions β†’ Roles and permissions β†’ + Role.

  1. Name the global role amberServiceRole.

  2. Tick the Global role checkbox and select the following permission:

    • Edit users (needed to be able to retrieve the user lists)

Confirm the creation of the global role with β†’ Create

Create local role amberServiceLocalRole

Next we create the local role again in /admin/roles/new (+ Role)
There we name it amberServiceLocalRole and give it the following permissions:

  • Project β†’ View members

    • needed to view in which private projects the user is present

  • Work packages and Gantt charts β†’ View work packages

    • needed to allow searching work packages on a per-project basis

  • Wiki β†’View wiki

    • needed to gain access to the wiki metadata

Confirm the creation of the local role with β†’ Create

Assign the roles to the service account amberService

Now that both the roles are defined we can proceed to assign them.

Assign global role

Find the service account in the users list at /users (Users and permissions β†’ Users β†’ amberService). After you click on it, switch to the tab Global roles and select the amberServiceRole from the Available global roles β†’ Add.

Assign local role

The local role needs to be attributed to the user for every project in the project members options at /projects (Projects β†’ Active projects).

For each project you want to give indexing rights to the service account, click on it’s name and navigate to Members and click on + Member.

There we assign the amberServiceLocalRole to our amberService account.

Generate API Key for service account amberService

To be able to access the API we need to create a secure key. For this, login in to the OpenProject instance as the new service account user amberSearch and navigate to the user settings icon on the top right corner.

By clicking on the Account settings Link in the right Navigation we can open the Access tokens page from the left navigation.

On the access token settings page click the + API Token button to create a new one and give it a name.

Share Credentials

In conclusion after creating the service account, providing it with the global and local roles and creating the API token safely send the following information to our team:

  • The username and password of the service account.

  • The API key which we generated in the steps above.

  • The open project instance URL.