Add support for few of Extra Columns plugin' extra columns for ListView generator
Changes include support for TestResultColumn, BuildDescriptionColumn, BuildParametersColumn, UserNameColumn, LastBuildConsoleColumn, WorkspaceColumn and ConfigureProjectColumn. Updated examples to show up how to use new columns with list view builder. Proposed column names in job generation YAML config file are: - extra-tests-total - extra-tests-failed - extra-tests-passed - extra-tests-skipped - extra-tests-format-0 - extra-tests-format-1 - extra-build-parameters - extra-build-description - extra-last-user-name - extra-workspace-link - extra-configure-button - extra-last-output To add an extra column with specific parameter named MY_PARAMETER, use following syntax: - extra-build-parameter: MY_PARAMETER Change-Id: I9497e2e322027f8cda105d728ee3d105a19b206e
This commit is contained in:
parent
5a1150b65a
commit
0411adde25
@ -226,7 +226,6 @@ import jenkins_jobs.modules.base
|
|||||||
|
|
||||||
from jenkins_jobs.modules.helpers import convert_mapping_to_xml
|
from jenkins_jobs.modules.helpers import convert_mapping_to_xml
|
||||||
|
|
||||||
|
|
||||||
COLUMN_DICT = {
|
COLUMN_DICT = {
|
||||||
'status': 'hudson.views.StatusColumn',
|
'status': 'hudson.views.StatusColumn',
|
||||||
'weather': 'hudson.views.WeatherColumn',
|
'weather': 'hudson.views.WeatherColumn',
|
||||||
@ -251,6 +250,50 @@ COLUMN_DICT = {
|
|||||||
'member-graph-view':
|
'member-graph-view':
|
||||||
'com.barchart.jenkins.cascade.GraphViewColumn '
|
'com.barchart.jenkins.cascade.GraphViewColumn '
|
||||||
'plugin="maven-release-cascade"',
|
'plugin="maven-release-cascade"',
|
||||||
|
'extra-tests-total': [
|
||||||
|
['jenkins.plugins.extracolumns.TestResultColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<testResultFormat>2</testResultFormat>'],
|
||||||
|
'extra-tests-failed': [
|
||||||
|
['jenkins.plugins.extracolumns.TestResultColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<testResultFormat>3</testResultFormat>'],
|
||||||
|
'extra-tests-passed': [
|
||||||
|
['jenkins.plugins.extracolumns.TestResultColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<testResultFormat>4</testResultFormat>'],
|
||||||
|
'extra-tests-skipped': [
|
||||||
|
['jenkins.plugins.extracolumns.TestResultColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<testResultFormat>5</testResultFormat>'],
|
||||||
|
'extra-tests-format-0': [
|
||||||
|
['jenkins.plugins.extracolumns.TestResultColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<testResultFormat>0</testResultFormat>'],
|
||||||
|
'extra-tests-format-1': [
|
||||||
|
['jenkins.plugins.extracolumns.TestResultColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<testResultFormat>1</testResultFormat>'],
|
||||||
|
'extra-build-description': [
|
||||||
|
['jenkins.plugins.extracolumns.BuildDescriptionColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<columnWidth>3</columnWidth>', '<forceWidth>false</forceWidth>'],
|
||||||
|
'extra-build-parameters': [
|
||||||
|
['jenkins.plugins.extracolumns.BuildParametersColumn',
|
||||||
|
{'plugin': 'extra-columns'}],
|
||||||
|
'<singlePara>false</singlePara>', '<parameterName/>'],
|
||||||
|
'extra-last-user-name':
|
||||||
|
'jenkins.plugins.extracolumns.UserNameColumn'
|
||||||
|
' plugin="extra-columns"',
|
||||||
|
'extra-last-output':
|
||||||
|
'jenkins.plugins.extracolumns.LastBuildConsoleColumn'
|
||||||
|
' plugin="extra-columns"',
|
||||||
|
'extra-workspace-link':
|
||||||
|
'jenkins.plugins.extracolumns.WorkspaceColumn '
|
||||||
|
'plugin="extra-columns"',
|
||||||
|
'extra-configure-button':
|
||||||
|
'jenkins.plugins.extracolumns.ConfigureProjectColumn'
|
||||||
|
' plugin="extra-columns"',
|
||||||
}
|
}
|
||||||
DEFAULT_COLUMNS = ['status', 'weather', 'job', 'last-success', 'last-failure',
|
DEFAULT_COLUMNS = ['status', 'weather', 'job', 'last-success', 'last-failure',
|
||||||
'last-duration', 'build-button']
|
'last-duration', 'build-button']
|
||||||
@ -274,8 +317,12 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
|
|
||||||
jn_xml = XML.SubElement(root, 'jobNames')
|
jn_xml = XML.SubElement(root, 'jobNames')
|
||||||
jobnames = data.get('job-name', None)
|
jobnames = data.get('job-name', None)
|
||||||
XML.SubElement(jn_xml, 'comparator', {'class':
|
XML.SubElement(
|
||||||
'hudson.util.CaseInsensitiveComparator'})
|
jn_xml,
|
||||||
|
'comparator', {
|
||||||
|
'class': 'hudson.util.CaseInsensitiveComparator'
|
||||||
|
}
|
||||||
|
)
|
||||||
if jobnames is not None:
|
if jobnames is not None:
|
||||||
jobnames = sorted(jobnames) # Job names must be sorted in the xml
|
jobnames = sorted(jobnames) # Job names must be sorted in the xml
|
||||||
for jobname in jobnames:
|
for jobname in jobnames:
|
||||||
@ -304,7 +351,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
bd_data = jobfilters.get('build-duration')
|
bd_data = jobfilters.get('build-duration')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('build-duration-type', 'buildCountTypeString', 'Latest'),
|
('build-duration-type', 'buildCountTypeString', 'Latest'),
|
||||||
('amount-type', 'amountTypeString', 'Hours'),
|
('amount-type', 'amountTypeString', 'Hours'),
|
||||||
('amount', 'amount', '0'),
|
('amount', 'amount', '0'),
|
||||||
@ -321,7 +368,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
bt_data = jobfilters.get('build-trend')
|
bt_data = jobfilters.get('build-trend')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('build-trend-type', 'buildCountTypeString', 'Latest'),
|
('build-trend-type', 'buildCountTypeString', 'Latest'),
|
||||||
('amount-type', 'amountTypeString', 'Hours'),
|
('amount-type', 'amountTypeString', 'Hours'),
|
||||||
('amount', 'amount', '0'),
|
('amount', 'amount', '0'),
|
||||||
@ -337,7 +384,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
js_data = jobfilters.get('job-status')
|
js_data = jobfilters.get('job-status')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('unstable', 'unstable', False),
|
('unstable', 'unstable', False),
|
||||||
('failed', 'failed', False),
|
('failed', 'failed', False),
|
||||||
('aborted', 'aborted', False),
|
('aborted', 'aborted', False),
|
||||||
@ -348,13 +395,15 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
fail_required=True)
|
fail_required=True)
|
||||||
|
|
||||||
if jobfilter == 'upstream-downstream':
|
if jobfilter == 'upstream-downstream':
|
||||||
ud_xml = XML.SubElement(job_filter_xml,
|
ud_xml = XML.SubElement(
|
||||||
'hudson.views.UpstreamDownstreamJobsFilter')
|
job_filter_xml,
|
||||||
|
'hudson.views.UpstreamDownstreamJobsFilter'
|
||||||
|
)
|
||||||
ud_xml.set('plugin', 'view-job-filters')
|
ud_xml.set('plugin', 'view-job-filters')
|
||||||
ud_data = jobfilters.get('upstream-downstream')
|
ud_data = jobfilters.get('upstream-downstream')
|
||||||
mapping = [
|
mapping = [
|
||||||
('include-upstream', 'includeUpstream',
|
('include-upstream', 'includeUpstream',
|
||||||
False),
|
False),
|
||||||
('include-downstream', 'includeDownstream', False),
|
('include-downstream', 'includeDownstream', False),
|
||||||
('recursive', 'recursive', False),
|
('recursive', 'recursive', False),
|
||||||
('exclude-originals', 'excludeOriginals', False),
|
('exclude-originals', 'excludeOriginals', False),
|
||||||
@ -363,15 +412,17 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
fail_required=True)
|
fail_required=True)
|
||||||
|
|
||||||
if jobfilter == 'fallback':
|
if jobfilter == 'fallback':
|
||||||
fb_xml = XML.SubElement(job_filter_xml,
|
fb_xml = XML.SubElement(
|
||||||
'hudson.views.AddRemoveFallbackFilter')
|
job_filter_xml,
|
||||||
|
'hudson.views.AddRemoveFallbackFilter'
|
||||||
|
)
|
||||||
fb_xml.set('plugin', 'view-job-filters')
|
fb_xml.set('plugin', 'view-job-filters')
|
||||||
fb_data = jobfilters.get('fallback')
|
fb_data = jobfilters.get('fallback')
|
||||||
mapping = [
|
mapping = [
|
||||||
('fallback-type', 'fallbackTypeString',
|
('fallback-type', 'fallbackTypeString',
|
||||||
'REMOVE_ALL_IF_ALL_INCLUDED'),
|
'REMOVE_ALL_IF_ALL_INCLUDED'),
|
||||||
('fallback-type', 'fallbackType',
|
('fallback-type', 'fallbackType',
|
||||||
'REMOVE_ALL_IF_ALL_INCLUDED'),
|
'REMOVE_ALL_IF_ALL_INCLUDED'),
|
||||||
]
|
]
|
||||||
convert_mapping_to_xml(fb_xml, fb_data, mapping,
|
convert_mapping_to_xml(fb_xml, fb_data, mapping,
|
||||||
fail_required=True)
|
fail_required=True)
|
||||||
@ -383,7 +434,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
bs_data = jobfilters.get('build-status')
|
bs_data = jobfilters.get('build-status')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('never-built', 'neverBuilt', False),
|
('never-built', 'neverBuilt', False),
|
||||||
('building', 'building', False),
|
('building', 'building', False),
|
||||||
('in-build-queue', 'inBuildQueue', False),
|
('in-build-queue', 'inBuildQueue', False),
|
||||||
@ -398,7 +449,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
ur_data = jobfilters.get('user-relevence')
|
ur_data = jobfilters.get('user-relevence')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('build-count', 'buildCountTypeString', 'AtLeastOne'),
|
('build-count', 'buildCountTypeString', 'AtLeastOne'),
|
||||||
('amount-type', 'amountTypeString', 'Hours'),
|
('amount-type', 'amountTypeString', 'Hours'),
|
||||||
('amount', 'amount', '0'),
|
('amount', 'amount', '0'),
|
||||||
@ -407,7 +458,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
('ignore-case', 'ignoreCase', False),
|
('ignore-case', 'ignoreCase', False),
|
||||||
('ignore-whitespace', 'ignoreWhitespace', False),
|
('ignore-whitespace', 'ignoreWhitespace', False),
|
||||||
('ignore-non-alphaNumeric', 'ignoreNonAlphaNumeric',
|
('ignore-non-alphaNumeric', 'ignoreNonAlphaNumeric',
|
||||||
False),
|
False),
|
||||||
('match-builder', 'matchBuilder', False),
|
('match-builder', 'matchBuilder', False),
|
||||||
('match-email', 'matchEmail', False),
|
('match-email', 'matchEmail', False),
|
||||||
('match-scm-changes', 'matchScmChanges', False),
|
('match-scm-changes', 'matchScmChanges', False),
|
||||||
@ -422,7 +473,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
rj_data = jobfilters.get('regex-job')
|
rj_data = jobfilters.get('regex-job')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('regex-name', 'valueTypeString', ''),
|
('regex-name', 'valueTypeString', ''),
|
||||||
('regex', 'regex', ''),
|
('regex', 'regex', ''),
|
||||||
]
|
]
|
||||||
@ -436,7 +487,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
jt_data = jobfilters.get('job-type')
|
jt_data = jobfilters.get('job-type')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('job-type', 'jobType', 'hudson.model.FreeStyleProject'),
|
('job-type', 'jobType', 'hudson.model.FreeStyleProject'),
|
||||||
]
|
]
|
||||||
convert_mapping_to_xml(jt_xml, jt_data, mapping,
|
convert_mapping_to_xml(jt_xml, jt_data, mapping,
|
||||||
@ -449,13 +500,13 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
pr_data = jobfilters.get('parameter')
|
pr_data = jobfilters.get('parameter')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('name', 'nameRegex', ''),
|
('name', 'nameRegex', ''),
|
||||||
('value', 'valueRegex', ''),
|
('value', 'valueRegex', ''),
|
||||||
('description', 'descriptionRegex', ''),
|
('description', 'descriptionRegex', ''),
|
||||||
('use-default', 'useDefaultValue', False),
|
('use-default', 'useDefaultValue', False),
|
||||||
('match-builds-in-progress', 'matchBuildsInProgress',
|
('match-builds-in-progress', 'matchBuildsInProgress',
|
||||||
False),
|
False),
|
||||||
('match-all-builds', 'matchAllBuilds', False),
|
('match-all-builds', 'matchAllBuilds', False),
|
||||||
('max-builds-to-match', 'maxBuildsToMatch', 0),
|
('max-builds-to-match', 'maxBuildsToMatch', 0),
|
||||||
]
|
]
|
||||||
@ -469,9 +520,9 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
ov_data = jobfilters.get('other-views')
|
ov_data = jobfilters.get('other-views')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('view-name', 'otherViewName',
|
('view-name', 'otherViewName',
|
||||||
'<select a view other than this one>'),
|
'<select a view other than this one>'),
|
||||||
]
|
]
|
||||||
convert_mapping_to_xml(ov_xml, ov_data, mapping,
|
convert_mapping_to_xml(ov_xml, ov_data, mapping,
|
||||||
fail_required=True)
|
fail_required=True)
|
||||||
@ -483,7 +534,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
st_data = jobfilters.get('scm')
|
st_data = jobfilters.get('scm')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('scm-type', 'scmType', 'hudson.scm.NullSCM'),
|
('scm-type', 'scmType', 'hudson.scm.NullSCM'),
|
||||||
]
|
]
|
||||||
convert_mapping_to_xml(st_xml, st_data, mapping,
|
convert_mapping_to_xml(st_xml, st_data, mapping,
|
||||||
@ -496,7 +547,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
sj_data = jobfilters.get('secured-job')
|
sj_data = jobfilters.get('secured-job')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
]
|
]
|
||||||
convert_mapping_to_xml(sj_xml, sj_data, mapping,
|
convert_mapping_to_xml(sj_xml, sj_data, mapping,
|
||||||
fail_required=True)
|
fail_required=True)
|
||||||
@ -508,12 +559,12 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
up_data = jobfilters.get('user-permissions')
|
up_data = jobfilters.get('user-permissions')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
('configure', 'configure', False),
|
('configure', 'configure', False),
|
||||||
('build', 'build', False),
|
('build', 'build', False),
|
||||||
('workspace', 'workspace', False),
|
('workspace', 'workspace', False),
|
||||||
('permission-check', 'permissionCheckType',
|
('permission-check', 'permissionCheckType',
|
||||||
'MustMatchAll'),
|
'MustMatchAll'),
|
||||||
]
|
]
|
||||||
convert_mapping_to_xml(up_xml, up_data, mapping,
|
convert_mapping_to_xml(up_xml, up_data, mapping,
|
||||||
fail_required=True)
|
fail_required=True)
|
||||||
@ -525,7 +576,7 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
uc_data = jobfilters.get('unclassified')
|
uc_data = jobfilters.get('unclassified')
|
||||||
mapping = [
|
mapping = [
|
||||||
('match-type', 'includeExcludeTypeString',
|
('match-type', 'includeExcludeTypeString',
|
||||||
'includeMatched'),
|
'includeMatched'),
|
||||||
]
|
]
|
||||||
convert_mapping_to_xml(uc_xml, uc_data, mapping,
|
convert_mapping_to_xml(uc_xml, uc_data, mapping,
|
||||||
fail_required=True)
|
fail_required=True)
|
||||||
@ -534,8 +585,27 @@ class List(jenkins_jobs.modules.base.Base):
|
|||||||
columns = data.get('columns', DEFAULT_COLUMNS)
|
columns = data.get('columns', DEFAULT_COLUMNS)
|
||||||
|
|
||||||
for column in columns:
|
for column in columns:
|
||||||
if column in COLUMN_DICT:
|
if isinstance(column, dict):
|
||||||
XML.SubElement(c_xml, COLUMN_DICT[column])
|
if 'extra-build-parameter' in column:
|
||||||
|
p_name = column['extra-build-parameter']
|
||||||
|
x = XML.SubElement(
|
||||||
|
c_xml,
|
||||||
|
'jenkins.plugins.extracolumns.BuildParametersColumn',
|
||||||
|
plugin='extra-columns'
|
||||||
|
)
|
||||||
|
x.append(XML.fromstring(
|
||||||
|
'<singlePara>true</singlePara>'))
|
||||||
|
x.append(XML.fromstring(
|
||||||
|
'<parameterName>%s</parameterName>' % p_name))
|
||||||
|
else:
|
||||||
|
if column in COLUMN_DICT:
|
||||||
|
if isinstance(COLUMN_DICT[column], list):
|
||||||
|
x = XML.SubElement(c_xml, COLUMN_DICT[column][0][0],
|
||||||
|
**COLUMN_DICT[column][0][1])
|
||||||
|
for tag in COLUMN_DICT[column][1:]:
|
||||||
|
x.append(XML.fromstring(tag))
|
||||||
|
else:
|
||||||
|
XML.SubElement(c_xml, COLUMN_DICT[column])
|
||||||
mapping = [
|
mapping = [
|
||||||
('regex', 'includeRegex', None),
|
('regex', 'includeRegex', None),
|
||||||
('recurse', 'recurse', False),
|
('recurse', 'recurse', False),
|
||||||
|
@ -31,6 +31,36 @@
|
|||||||
<jenkins.branch.DescriptionColumn/>
|
<jenkins.branch.DescriptionColumn/>
|
||||||
<com.sonatype.insight.ci.hudson.QualityColumn plugin="sonatype-clm-ci"/>
|
<com.sonatype.insight.ci.hudson.QualityColumn plugin="sonatype-clm-ci"/>
|
||||||
<com.barchart.jenkins.cascade.GraphViewColumn plugin="maven-release-cascade"/>
|
<com.barchart.jenkins.cascade.GraphViewColumn plugin="maven-release-cascade"/>
|
||||||
|
<jenkins.plugins.extracolumns.TestResultColumn plugin="extra-columns">
|
||||||
|
<testResultFormat>2</testResultFormat>
|
||||||
|
</jenkins.plugins.extracolumns.TestResultColumn>
|
||||||
|
<jenkins.plugins.extracolumns.TestResultColumn plugin="extra-columns">
|
||||||
|
<testResultFormat>3</testResultFormat>
|
||||||
|
</jenkins.plugins.extracolumns.TestResultColumn>
|
||||||
|
<jenkins.plugins.extracolumns.TestResultColumn plugin="extra-columns">
|
||||||
|
<testResultFormat>4</testResultFormat>
|
||||||
|
</jenkins.plugins.extracolumns.TestResultColumn>
|
||||||
|
<jenkins.plugins.extracolumns.TestResultColumn plugin="extra-columns">
|
||||||
|
<testResultFormat>5</testResultFormat>
|
||||||
|
</jenkins.plugins.extracolumns.TestResultColumn>
|
||||||
|
<jenkins.plugins.extracolumns.TestResultColumn plugin="extra-columns">
|
||||||
|
<testResultFormat>0</testResultFormat>
|
||||||
|
</jenkins.plugins.extracolumns.TestResultColumn>
|
||||||
|
<jenkins.plugins.extracolumns.TestResultColumn plugin="extra-columns">
|
||||||
|
<testResultFormat>1</testResultFormat>
|
||||||
|
</jenkins.plugins.extracolumns.TestResultColumn>
|
||||||
|
<jenkins.plugins.extracolumns.BuildParametersColumn plugin="extra-columns">
|
||||||
|
<singlePara>false</singlePara>
|
||||||
|
<parameterName/>
|
||||||
|
</jenkins.plugins.extracolumns.BuildParametersColumn>
|
||||||
|
<jenkins.plugins.extracolumns.BuildDescriptionColumn plugin="extra-columns">
|
||||||
|
<columnWidth>3</columnWidth>
|
||||||
|
<forceWidth>false</forceWidth>
|
||||||
|
</jenkins.plugins.extracolumns.BuildDescriptionColumn>
|
||||||
|
<jenkins.plugins.extracolumns.UserNameColumn plugin="extra-columns"/>
|
||||||
|
<jenkins.plugins.extracolumns.WorkspaceColumn plugin="extra-columns"/>
|
||||||
|
<jenkins.plugins.extracolumns.ConfigureProjectColumn plugin="extra-columns"/>
|
||||||
|
<jenkins.plugins.extracolumns.LastBuildConsoleColumn plugin="extra-columns"/>
|
||||||
</columns>
|
</columns>
|
||||||
<recurse>true</recurse>
|
<recurse>true</recurse>
|
||||||
<statusFilter>false</statusFilter>
|
<statusFilter>false</statusFilter>
|
||||||
|
@ -26,5 +26,17 @@ columns:
|
|||||||
- desc
|
- desc
|
||||||
- policy-violations
|
- policy-violations
|
||||||
- member-graph-view
|
- member-graph-view
|
||||||
|
- extra-tests-total
|
||||||
|
- extra-tests-failed
|
||||||
|
- extra-tests-passed
|
||||||
|
- extra-tests-skipped
|
||||||
|
- extra-tests-format-0
|
||||||
|
- extra-tests-format-1
|
||||||
|
- extra-build-parameters
|
||||||
|
- extra-build-description
|
||||||
|
- extra-last-user-name
|
||||||
|
- extra-workspace-link
|
||||||
|
- extra-configure-button
|
||||||
|
- extra-last-output
|
||||||
recurse: true
|
recurse: true
|
||||||
status-filter: false
|
status-filter: false
|
||||||
|
@ -16,6 +16,10 @@
|
|||||||
<hudson.views.LastSuccessColumn/>
|
<hudson.views.LastSuccessColumn/>
|
||||||
<hudson.views.LastFailureColumn/>
|
<hudson.views.LastFailureColumn/>
|
||||||
<hudson.views.LastDurationColumn/>
|
<hudson.views.LastDurationColumn/>
|
||||||
|
<jenkins.plugins.extracolumns.BuildParametersColumn plugin="extra-columns">
|
||||||
|
<singlePara>true</singlePara>
|
||||||
|
<parameterName>MY_PARAMETER</parameterName>
|
||||||
|
</jenkins.plugins.extracolumns.BuildParametersColumn>
|
||||||
</columns>
|
</columns>
|
||||||
<includeRegex>(?!test.*).*</includeRegex>
|
<includeRegex>(?!test.*).*</includeRegex>
|
||||||
<recurse>false</recurse>
|
<recurse>false</recurse>
|
||||||
|
@ -8,4 +8,5 @@ columns:
|
|||||||
- last-success
|
- last-success
|
||||||
- last-failure
|
- last-failure
|
||||||
- last-duration
|
- last-duration
|
||||||
|
- extra-build-parameter: MY_PARAMETER
|
||||||
regex: (?!test.*).*
|
regex: (?!test.*).*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user