Advanced mode allows users to create any pipeline by writing JSON. This is useful for users who want to:
Advanced mode gives utmost flexibility to users by exposing the JSON API.
Collect multiple GitHub repos sequentially. Below is an example for collecting 2 GitHub repos sequentially. It has 2 stages, each contains a GitHub task.
[ [ { "Plugin": "github", "Options": { "connectionId": 1, "repo": "incubator-devlake", "owner": "apache" } }, { "Plugin": "github", "Options": { "connectionId": 1, "repo": "lake", "owner": "merico-dev" } } ] ]
GitHub:
connectionId
: The ID of your GitHub connection at page http://localhost:4000/connections/github.owner
: Just take a look at the URL: https://github.com/apache/incubator-devlake, owner is apache
.repo
: Just take a look at the URL: https://github.com/apache/incubator-devlake, repo is incubator-devlake
.Collect multiple GitLab repos sequentially.
When there're multiple collection tasks against a single data source, we recommend running these tasks sequentially since the collection speed is mostly limited by the API rate limit of the data source. Running multiple tasks against the same data source is unlikely to speed up the process and may overwhelm the data source.
Below is an example for collecting 2 GitLab repos sequentially. It has 2 stages, each contains a GitLab task.
[ [ { "Plugin": "gitlab", "Options": { "connectionId": 1, "projectId": 152***74 } } ], [ { "Plugin": "gitlab", "Options": { "connectionId": 2, "projectId": 116***98 } } ] ]
connectionId
: The ID of your GitLab connection at page http://localhost:4000/connections/gitlab.projectId
: GitLab repo's Project ID.Collect multiple Jenkins jobs sequentially. Below is an example for collecting 2 Jenkins jobs sequentially. It has 2 stages, each contains a Jenkins task.
[ [ { "plugin": "jenkins", "options": { "connectionId": 1, "scopeId": "auto_deploy" } } ], [ { "plugin": "jenkins", "options": { "connectionId": 2, "scopeId": "Deploy test" } } ] ]
connectionId
: The ID of your Jenkins connection at page http://localhost:4000/connections/jenkins.scopeId
: Jenkins job name.Collect multiple Jira boards sequentially. Below is an example for collecting 2 Jira boards sequentially. It has 2 stages, each contains a Jira task.
[ [ { "plugin": "jira", "options": { "boardId": 8, "connectionId": 1 } } ], [ { "plugin": "jira", "options": { "boardId": 26, "connectionId": 1 } } ] ]
connectionId
: The ID of your Jira connection at page http://localhost:4000/connections/jira.boardId
: Just take a look at the URL - it will be the last number in the address. Should look something like this at the end: RapidBoard.jspa?rapidView=8
or /projects/xxx/boards/8
. So 8
would be the board ID in that case.Below is an example for collecting a GitLab repo and a Jira board in parallel. It has a single stage with a GitLab task and a Jira task. As GitLab and Jira are using their own tokens, they can be executed in parallel.
[ [ { "plugin":"jira", "options":{ "boardId":8, "connectionId":1 } } ], [ { "Plugin":"gitlab", "Options":{ "connectionId":1, "projectId":116***98 } } ] ]
Below is an example for collecting a TAPD workspace. Since users can configure multiple TAPD connection, it's required to pass in a connectionId
for TAPD task to specify which connection to use.
[ [ { "plugin": "tapd", "options": { "createdDateAfter": "2006-01-02T15:04:05Z", "workspaceId": 34***66, "connectionId": 1 } } ] ]
createdDateAfter
: The data range you wish to collect after the given date.connectionId
: The ID of your TAPD connection at page http://localhost:4000/connections/tapd.workspaceId
: TAPD workspace id, you can get it from two ways:advanced mode
[ [ { "plugin": "tapd", "options": { "companyId": 558***09, "workspaceId": 1, "connectionId": 1 }, "subtasks": ["collectCompanies", "extractCompanies"] } ] ]
Below is an example for collecting a TAPD workspace and a GitLab repo in parallel. It has a single stage with a TAPD task and a GitLab task.
[ [ { "plugin": "tapd", "options": { "createdDateAfter": "2006-01-02T15:04:05Z", "workspaceId": 6***14, "connectionId": 1 } } ], [ { "Plugin":"gitlab", "Options":{ "connectionId":1, "projectId":116***98 } } ] ]
Below is an example for collecting a Zentao workspace. Since users can configure multiple Zentao connection, it's required to pass in a connectionId
for Zentao task to specify which connection to use.
[ [ { plugin: 'zentao', options: { connectionId: 1, productId: 1, projectId: 1, executionId: 1 } } ] ]
connectionId
: The ID of your Zentao connection at page http://localhost:4000/connections/zentao.productId
: optional, ZENTAO product id, see “Find Product Id” for details.projectId
: optional, ZENTAO product id, see “Find Project Id” for details.executionId
: optional, ZENTAO product id, see “Find Execution Id” for details.You must choose at least one of productId
, projectId
and executionId
.
ProductId
ProjectId
ExecutionId
Below is an example for collecting a bitbucket repo.
[ [ { "plugin": "bitbucket", "options": { "connectionId": 1, "owner": "apache", "repo": "devlake" } } ] ]
connectionId
: The ID of your bitbucket connection at page http://localhost:4000/connections/bitbucket.owner
: the owner of the repository.repo
: the bitbucket repository name.Below is an example for collecting a SonarQube project.
[ [ { "plugin": "sonarqube", "options": { "connectionId": 1, "projectKey": "testDevLake" } } ] ]
connectionId
: The ID of your SonarQube connection at page http://localhost:4000/connections/sonarqube.projectKey
: The project key of the SonarQube. To find the project key in SonarQube, please follow the steps:Below is an example for collecting a Teambition project. Since users can configure multiple Teambition connection, it's required to pass in a connectionId
for Teambition task to specify which connection to use.
[ [ { "plugin": "teambition", "options": { "createdDateAfter": "2006-01-02T15:04:05Z", "projectId": "5e5****376", "connectionId": 1 } } ] ]
connectionId
: The ID of your TAPD connection at page http://localhost:4000/connections/tapd.projectId
: Teambition project id, you can get it from url: This section is for editing a Blueprint in the Advanced Mode. To edit in the Normal mode, please refer to this guide.
To edit a Blueprint created in the Advanced mode, you can simply go the Configuration page of that Blueprint and edit its configuration.
If you run into any problem, please check the Troubleshooting or create an issue