Skip to content

jeffmaury/intellij-tekton

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IntelliJ Tekton

Build status Validate against IJ versions JetBrains plugins JetBrains plugins

Overview

A JetBrains IntelliJ plugin for interacting with Tekton Pipelines. This plugin is currently in Preview Mode.

New and Noteworthy

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.

Enhanced logs

Logs have been extended to work with EventListeners and they can be now redirected into the editor

Add Plugin preferences

It is possible to set preferences to change the default plugin behaviour, such as delete all related resources automatically or avoid showing the wizard if a pipeline/task has no inputs

UI enhancements

The Start Wizard Preview panel updates on changes and it display texts of any length in a well formatted way

Code completion on single inputs

When adding a task to a pipeline definition, code completion gets also activated on single inputs (param, input/output resource and workspace). If the input contains a default value, then this value is also inserted into the pipeline definition.

Previous releases

0.5.0

The Tekton CLI in use has been upgrated to 0.15.0.

Enhanced Tekton Hub integration

Tasks searched on the TektonHub can now be installed as cluster tasks.

Pipeline execution reported as notification

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:

Improved code validation

Wrong uses of runAfter

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:

Preview when starting a task or pipeline

When starting a task or a pipeline, it is possible to see the generated taskrun or pipelinerun payload with the Show Preview option:

0.4.1

Tekton Hub integration

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.

Improved code validation

Unused parameters / resources / workspaces

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.

0.3.0

Improved code completion

Cluster task references

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.

Parameter values and workspaces

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.

0.2.0

Troubleshooting

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.

Add trigger wizard

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).

Pipelinerun preview editor

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.

Run prefix when starting a task or pipeline

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

Improved code completion

When expressions

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.

Resource reference

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

0.1.0

The Tekton CLI in use has been upgrated to 0.11.0 (as 0.12.0 has some performance issues).

Pipeline preview editor

The pipeline editor has been enhanced to include a visual representation of the pipeline workflow. Conditions and finally clauses are also supported.

Reviewed start wizard (for pipelines and tasks)

The start wizard has been completely reviewed to better represent the current state:

Initialize start wizard with settings from a previous run

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.

Improved code assist

Value references

When a parameter/workspace/resource is to be set on a task, code assist will present the candidate values.

Task graph

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:

Conditions

When a task is to be conditionnaly executed through conditions (using the conditionRef field), the list of available conditions is proposed:

UI enhancements

Delete

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:

Runs ordering

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

Cancel run

A task or pipeline run still active (in the running state) can be canceled through a new Cancel action:

Automatically show logs

When a task or pipeline is started, the logs view is automatically displayed

Delete multiple elements

It is now possible to delete several different elements, even if they are of the same nature (ie task runs and pipeline runs)

Read only editor

Task runs and pipeline runs are now opened as read only in the editor

Proxy support

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.

Tekton Triggers support

This plugin now supports the Tekton Triggers resources (if Tekton Triggers runtime is installed on the cluster):

  • TriggerTemplates
  • TriggerBindings
  • ClusterTriggerBindings
  • EventListeners

Additional commands

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.

Provides easy editing support for Tekton assets (pipelines, task, ...)

Code assist and syntax validation based on JSON schemas has been added to the Tekton resources editing experience in addition to the code snippets.

Running Kubernetes and OpenShift Clusters to use with plugin

To use the plugin, developers can deploy Tekton Pipelines into a Red Hat CodeReady Containers or Minikube instance.

The plugin also supports OpenShift running on Azure, AWS.

Tekton Pipelines Tutorial

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:

Commands and features

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.

Actions available for a Tekton Pipeline/Task/ClusterTask/Resource

  • 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 item
  • Show 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)

Actions available for an PipelineRun/TaskRun

  • Show Logs - Print logs for the selected PipelineRun/TaskRun
  • Follow Logs - Follow logs for the selected PipelineRun/TaskRun
Saving Process

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.

Dependencies

CLI Tools

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!

Release notes

See the change log.

Contributing

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.

Feedback & Questions

If you discover an issue please file a bug and we will fix it as soon as possible.

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.

License

EPL 2.0, See LICENSE for more information.

About

IntelliJ Tekton plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 97.3%
  • Go 2.7%