Project storage
When creating a JAICP project, you can choose the way it will be stored:
External storage
JAICP projects can be stored in Git repositories.
Using Git for project storage has a number of advantages:
- The ability to roll back the project to any previous version.
- Easy collaboration and simultaneous development thanks to branching.
- Flexible control over content development teams.
GitHub and Bitbucket
JAICP has a built-in integration with the GitHub and Bitbucket hosting providers. When creating a project, you can either create a new GitHub or Bitbucket repository for it or connect an existing one.
- Create a new repository
- Connect an existing one
- Select the way to create a project:
- Create from scratch.
- Use template.
- Upload existing project.
- Under Project location, select GitHub or Bitbucket.
- If you are doing this for the first time, an authorization window will open. Allow JAICP to access your account.
- On the project creation page, specify the repository settings:
-
Workspace (Bitbucket only).
-
Project (Bitbucket only).
-
Repository name.
-
Access, which can be public or private.
tipPublic repositories can be viewed by anyone, and modified only by authorized GitHub and Bitbucket users. For private repositories, you can manage access and modification settings by yourself.
-
After you click Create project, a GitHub or Bitbucket repository with the specified settings and the new project code will be created.
- Select Connect to Git project when creating a project.
- Under Project location, select GitHub or Bitbucket.
- If you are doing this for the first time, an authorization window will open. Allow JAICP to access your account.
- On the project creation page, specify the repository settings:
-
Workspace (Bitbucket only).
-
Project (Bitbucket only).
-
Repository.
-
Branch.
tipThis setting determines the branch whose content will be displayed in the code editor and in J‑Graph. However, any channel may still use any branch.
-
After you click Create project, the specified GitHub or Bitbucket repository will be connected to your new project.
Another service
To store your project, you can use hosting providers other than GitHub and Bitbucket as well, such as GitLab. Select Another service as the project location when creating a project.
Fill in the fields:
- Repository URL.
- Path — the relative path to the directory containing the project code,
.
by default (which is the root directory). This directory should contain thechatbot.yaml
configuration file. - Branch — the branch with the project code,
master
by default. The content of this branch will be displayed in the code editor and in J‑Graph.
To access the repository, you can use either a personal account or guest access (it can only be enabled in on-premise JAICP installations).
- Personal account
- Guest access
-
Login — the username on the hosting service where the repository is located.
cautionDo not use your email instead of the username. -
Personal access token for Git repositories.
If you choose guest access, fill in the Key field. The key protects external repositories with guest access. Generate a key or come up with your own.
After you click Create project, the repository will be connected to your new project.
Local storage
Projects kept in the local storage are stored directly in JAICP.
Local projects are created quickly and do not require any extra repository administration, but they impose a number of restrictions:
- No proper version control and no way to roll back to previous versions.
- Difficulties for several developers to work on the project at the same time.
- Projects become harder to maintain as their codebase grows.
To store a project locally, click Create and store project in JAICP on creating the project.
Changing the project location
- Transfer to an external repository
- Transfer to the local storage
- Export the project as an archive and unzip it.
- Go to the
project
subdirectory and initialize a new Git repository. - Commit the changes and push them to an external repository.
- Create a new project stored in an external repository.
- Export the project as an archive.
- Create a new project stored in the local storage.
- Import the archive with the old project to the new one.