A JetBrains IntelliJ plugin for interacting with Tekton Pipelines. This plugin is currently in Preview Mode.
This new release is based on v1beta1. Although it still supports v1alpha1 resources (resources, conditions), we do not support v1alpha1 version for resources that have v1beta1. The Tekton CLI in use has been upgrated to 0.15.0.
Tasks searched on the TektonHub can now be installed as cluster tasks.
When a new pipeline is started, its execution status is new reported asynchronously as a notification.
This can be turned off through a setting under Settings -> Tools -> Tekton Pipelines by Red Hat:
Task ordering can be managed through the runAfter field. However, uses of this field is not allowed when specifying finally tasks. Such wrong usages will be reported when editing your pipeline through an error marker:
When starting a task or a pipeline, it is possible to see the generated taskrun or pipelinerun payload with the Show Preview option:
The Tekton Hub can now be search for tasks. Once you've found a task that satisfies your requirements, you can install it on the cluster.
When a pipeline or task is defining parameters, resources or workspaces that are not being used in the pipeline or task definition, then this parameter, resource or workspace is grey highlighted just like an unused variable is highlighted in a classic code editor.
When a name of a task is to be specified in a pipeline definition, then the list of the normal tasks was provided. The list of existing cluster tasks is now available, with the (clusterTask) suffix to distinguish from normal tasks.
When a task is selected inside a pipeline definition during code completion, the list of parameters to be passed to this task is inserted into the pipeline definition. If the definition of a parameter contains a default value, then this value is also inserted into the pipeline definiton. On the same topic, if the task definition contains a list of workspaces, then a list of workspaces will be inserted into the pipeline definition as well.
Sometimes, it may be hard to understand why a pipeline failed or why it is stuck. We added a new troubleshooting tool that will inspect low level Kubernetes resources related to your task or pipeline execution and extract information that may be helpful.
It is now much simple to add a trigger to an existing pipeline. We added a new wizard that allows you to associate one or more trigger bindings to a pipeline (and if you don't have bindings already, you can create it while adding the trigger).
Like the pipeline editor, the pipelinerun editor has been enhanced to include a visual representation of the pipeline workflow and status. Conditions and finally clauses are also supported.
It is now possible to specify a run prefix when starting a task or pipeline. This allows to better identify the execution in the set of runs
The dynamic input of a when expression can be easily specified as code completion can now retrieve the results from other tasks of the pipeline.
Any task using input or output resources can be specified in the pipeline workflow and values for the resource field will be managed through code completion
The Tekton CLI in use has been upgrated to 0.11.0 (as 0.12.0 has some performance issues).
The pipeline editor has been enhanced to include a visual representation of the pipeline workflow. Conditions and finally clauses are also supported.
The start wizard has been completely reviewed to better represent the current state:
As starting a task or pipeline may require a lot of inputs, it is also possible to start a task or pipeline using the settings from a previous run. The start wizard will have these input values initialized from the values used in the previous run instead of getting the default value.
When a parameter/workspace/resource is to be set on a task, code assist will present the candidate values.
Tasks inside a pipeline can be sequence through the runAfter field. When code completion is activate on such a field, the list of available tasks in the pipeline is proposed:
When a task is to be conditionnaly executed through conditions (using the conditionRef field), the list of available conditions is proposed:
When a task or pipeline resource is to be deleted, you now have the choice to delete associated resources (task runs / pipeline runs) through an option:
The taskruns/pipelineruns are now displayed ordered by the starting time (most recent started run is displayed first), allowing users to keep focusing on recent work
A task or pipeline run still active (in the running state) can be canceled through a new Cancel action:
When a task or pipeline is started, the logs view is automatically displayed
It is now possible to delete several different elements, even if they are of the same nature (ie task runs and pipeline runs)
Task runs and pipeline runs are now opened as read only in the editor
Communication with the cluster is now supported automatically. The plugin will honor proxy settings from IntelliJ so proxy is configured by default or if proxy is associated with the cluster API server hostname, then communication from this plugin to the cluster will go through the configured proxy.
This plugin now supports the Tekton Triggers resources (if Tekton Triggers runtime is installed on the cluster):
- TriggerTemplates
- TriggerBindings
- ClusterTriggerBindings
- EventListeners
The following commands have been added:
- Start Last Run (for pipelines and tasks)
- Edit any Tekton resource by double clicking on the resource in the tree
The Tekton tree now displays:
- TaskRuns
- PipelineRuns
- Conditions
as separate nodes.
Code assist and syntax validation based on JSON schemas has been added to the Tekton resources editing experience in addition to the code snippets.
To use the plugin, developers can deploy Tekton Pipelines into a Red Hat CodeReady Containers or Minikube instance.
- OpenShift 4.x - CodeReadyContainers
- Kubernetes - Minikube.
The plugin also supports OpenShift running on Azure, AWS.
To get started with Tekton and learn how to create and run a simple pipeline for building and deploying containerized app on Kubernetes/OpenShift you can follow one of these tutorials:
Development of the Tekton Pipelines Plugin is largely following development of the tkn CLI as well as Tekton Pipelines which are both under active development and potentially subject to drastic changes.
Below you can find a list of the current actions supported by this plugin to interact with Tekton Pipelines. These are accessible via the context menu when right-clicking an item in the tree.
New
- Open an editor with a configuration sample to create a new pipeline/task/clusterTask/resource.Open in Editor
- Open the existing pipeline/task/clusterTask/resource configuration in an editor.Start
- Start a pipeline/task with user indicated input/output resources and parameters.Delete
- Delete the selected pipeline/task/clusterTask/resource.Refresh
- Refresh the selected itemShow Logs
- Show a dialog to choose the pipelineRun/taskRun to print logs for (only available for Pipeline/Task)Follow Logs
- Show a dialog to choose the pipelineRun/taskRun to follow logs for (only available for Pipeline/Task)
Show Logs
- Print logs for the selected PipelineRun/TaskRunFollow Logs
- Follow logs for the selected PipelineRun/TaskRun
The plugin takes advantage of the normal saving workflow of the IntelliJ IDE. When you finish to edit your configuration
and want to push the changes to the cluster, click on Save All (CTRL + S)
. A prompt will be shown asking if you want to push the changes.
This plugin uses a CLI tool to interact with Tekton Pipelines:
- Tekton CLI - tkn
The plugin will detect these dependencies and prompt the user to install if they are missing or have not supported version - choose
Download & Install
when you see an notification for the missing tool.
NOTE: This plugin is in Preview mode. The plugin support for Tekton is strictly experimental - assumptions may break, commands and behavior may change!
See the change log.
This is an open source project open to anyone. This project welcomes contributions and suggestions!
For information on getting started, refer to the CONTRIBUTING instructions.
If you discover an issue please file a bug and we will fix it as soon as possible.
- File a bug in GitHub Issues.
If you want to chat with us, you can contact us on the #ide-integration
channel of the tektoncd
Slack. Please click this link to join the tektoncd
Slack.
EPL 2.0, See LICENSE for more information.