Package io.jenkins.plugins.monitoring
Class MonitoringDefaultAction
- java.lang.Object
-
- io.jenkins.plugins.monitoring.MonitoringDefaultAction
-
- All Implemented Interfaces:
Action
,ModelObject
,RunAction2
,org.kohsuke.stapler.StaplerProxy
public class MonitoringDefaultAction extends Object implements RunAction2, org.kohsuke.stapler.StaplerProxy
This action displays a link on the side panel of aRun
. The action is only displayed if the parent job is a pull request. The action is responsible to render the summary via its associated 'summary.jelly' view and render the main plugin page, where the user can configure the dashboard with all supported plugins via its associated 'index.jelly view.- Author:
- Simon Symhoven
-
-
Constructor Summary
Constructors Constructor Description MonitoringDefaultAction(Run<?,?> run)
Creates a new instance ofMonitoringDefaultAction
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
areJsonNodesEquals(String s1, String s2)
Compares to json nodes, if they are equals.static List<? extends MonitorPortlet>
getAvailablePortlets(Run<?,?> build)
Gets allMonitorPortlet
for correspondingMonitorPortletFactory
.static List<? extends MonitorPortlet>
getAvailablePortletsForFactory(Run<?,?> build, MonitorPortletFactory factory)
Gets allMonitorPortlet
for oneMonitorPortletFactory
.String
getConfiguration()
Get the current dashboard configuration of user.String
getConfigurationId()
Get the project it based on the currentRun
.Optional<jenkins.scm.api.metadata.ContributorMetadataAction>
getContributorMetadataAction()
Get theContributorMetadataAction
for the current build.String
getDisplayName()
static List<? extends MonitorPortletFactory>
getFactories()
Get all portlet factories, type ofMonitorPortletFactory
.String
getIconFileName()
Optional<jenkins.scm.api.metadata.ObjectMetadataAction>
getObjectMetadataAction()
Get theObjectMetadataAction
for the current build.String
getPortlets()
String
getPullRequestMetadataBody()
Creates the body for the pull request metadata accordion.String
getPullRequestMetadataTitle()
Creates the heading for the pull request metadata accordion.String
getPullRequestReferenceBuildDescription()
Creates the reference build link for the pull request metadata title.Run<?,?>
getRun()
jenkins.scm.api.mixin.ChangeRequestSCMHead2
getScmHead()
Get theChangeRequestSCMHead2
for a specificRun
.Object
getTarget()
List<String>
getUnavailablePortlets()
Get all portlets, which are not available anymore.String
getUrlName()
boolean
hasChanges()
Checks if there are changes in the configuration since the last build.boolean
isMonitorConfigurationSynced()
Checks if the actual configuration is synced with the default one (Jenkinsfile or empty one).void
onAttached(Run<?,?> build)
void
onLoad(Run<?,?> build)
void
resetMonitorConfiguration()
Reset the current project configuration to default.String
resolvePortlets()
Resolves the portlet string of theMonitor
.void
updateMonitorConfiguration(String config)
Saves the actual dashboard configuration toMonitorConfigurationProperty
.
-
-
-
Constructor Detail
-
MonitoringDefaultAction
public MonitoringDefaultAction(Run<?,?> run)
Creates a new instance ofMonitoringDefaultAction
.- Parameters:
run
- the run that owns this action.
-
-
Method Detail
-
getIconFileName
public String getIconFileName()
- Specified by:
getIconFileName
in interfaceAction
-
getDisplayName
public String getDisplayName()
- Specified by:
getDisplayName
in interfaceAction
- Specified by:
getDisplayName
in interfaceModelObject
-
getUrlName
public String getUrlName()
- Specified by:
getUrlName
in interfaceAction
-
onAttached
public void onAttached(Run<?,?> build)
- Specified by:
onAttached
in interfaceRunAction2
-
onLoad
public void onLoad(Run<?,?> build)
- Specified by:
onLoad
in interfaceRunAction2
-
getRun
public Run<?,?> getRun()
-
getPortlets
public String getPortlets()
-
getObjectMetadataAction
public Optional<jenkins.scm.api.metadata.ObjectMetadataAction> getObjectMetadataAction()
Get theObjectMetadataAction
for the current build.- Returns:
- the
ObjectMetadataAction
.
-
getContributorMetadataAction
public Optional<jenkins.scm.api.metadata.ContributorMetadataAction> getContributorMetadataAction()
Get theContributorMetadataAction
for the current build.- Returns:
- the
ContributorMetadataAction
.
-
getScmHead
public jenkins.scm.api.mixin.ChangeRequestSCMHead2 getScmHead()
Get theChangeRequestSCMHead2
for a specificRun
.- Returns:
- the
ChangeRequestSCMHead2
of run.
-
getPullRequestMetadataTitle
public String getPullRequestMetadataTitle()
Creates the heading for the pull request metadata accordion.- Returns:
- the title as html element.
-
getPullRequestReferenceBuildDescription
public String getPullRequestReferenceBuildDescription()
Creates the reference build link for the pull request metadata title.- Returns:
- the reference build as html element.
-
getPullRequestMetadataBody
public String getPullRequestMetadataBody()
Creates the body for the pull request metadata accordion.- Returns:
- the body as html element.
-
getConfigurationId
public String getConfigurationId()
Get the project it based on the currentRun
.- Returns:
- the display name of the current project as id.
-
getUnavailablePortlets
public List<String> getUnavailablePortlets()
Get all portlets, which are not available anymore.- Returns:
- a list of all unavailable portlet ids.
-
hasChanges
public boolean hasChanges()
Checks if there are changes in the configuration since the last build.- Returns:
- true if both configurations are equal, else false.
-
areJsonNodesEquals
public boolean areJsonNodesEquals(String s1, String s2)
Compares to json nodes, if they are equals.- Parameters:
s1
- the first json node as string.s2
- the second json node as string.- Returns:
- true, if both are equals, else false.
-
updateMonitorConfiguration
@JavaScriptMethod public void updateMonitorConfiguration(String config)
Saves the actual dashboard configuration toMonitorConfigurationProperty
.- Parameters:
config
- the config string to update.
-
getConfiguration
@JavaScriptMethod public String getConfiguration()
Get the current dashboard configuration of user.- Returns:
- the config of the corresponding
MonitorConfigurationProperty
of the actual project or the default configuration of Jenkinsfile if no config exists inMonitorConfigurationProperty
for actual project.
-
isMonitorConfigurationSynced
@JavaScriptMethod public boolean isMonitorConfigurationSynced()
Checks if the actual configuration is synced with the default one (Jenkinsfile or empty one).- Returns:
- true, if synced, else false.
-
resolvePortlets
@JavaScriptMethod public String resolvePortlets()
Resolves the portlet string of theMonitor
.- Returns:
- the portlet string of
MonitoringCustomAction
if exists, else the one ofMonitoringDefaultAction
.
-
resetMonitorConfiguration
@JavaScriptMethod public void resetMonitorConfiguration()
Reset the current project configuration to default.
-
getTarget
public Object getTarget()
- Specified by:
getTarget
in interfaceorg.kohsuke.stapler.StaplerProxy
-
getAvailablePortlets
public static List<? extends MonitorPortlet> getAvailablePortlets(Run<?,?> build)
Gets allMonitorPortlet
for correspondingMonitorPortletFactory
.- Parameters:
build
- the reference build.- Returns:
- all available
MonitorPortlet
.
-
getFactories
public static List<? extends MonitorPortletFactory> getFactories()
Get all portlet factories, type ofMonitorPortletFactory
.- Returns:
- all factories as list.
-
getAvailablePortletsForFactory
public static List<? extends MonitorPortlet> getAvailablePortletsForFactory(Run<?,?> build, MonitorPortletFactory factory)
Gets allMonitorPortlet
for oneMonitorPortletFactory
.- Parameters:
build
- the build to get the portlets for.factory
- the factory to get the portlets for.- Returns:
- the filtered portlets.
-
-