You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>
Co-authored-by: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE.md
+9-11Lines changed: 9 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,15 @@
1
1
<!-- Comment:
2
2
A great PR typically begins with the line below.
3
-
Replace XXXXX with the numeric part of the issue ID you created in Jira.
4
-
Note that if you want your changes backported into LTS, you need to create a Jira issue. See https://www.jenkins.io/download/lts/#backporting-process for more information.
3
+
Replace <issue-number> with the issue number.
5
4
-->
6
5
7
-
See [JENKINS-XXXXX](https://issues.jenkins.io/browse/JENKINS-XXXXX).
6
+
Fixes #<issue-number>
8
7
9
8
<!-- Comment:
10
-
If the issue is not fully described in Jira, add more information here (justification, pull request links, etc.).
9
+
If the issue is not fully described in the issue tracker, add more information here (justification, pull request links, etc.).
11
10
12
-
* We do not require Jira issues for minor improvements.
13
-
* Bug fixes should have a Jira issue to facilitate the backporting process.
14
-
* Major new features should have a Jira issue.
11
+
* We do not require an issue for minor improvements.
12
+
* Major new features should have an issue created.
15
13
-->
16
14
17
15
### Testing done
@@ -34,8 +32,8 @@ For refactoring and code cleanup changes, exercise the code before and after the
34
32
The changelog entry should be in the imperative mood; e.g., write "do this"/"return that" rather than "does this"/"returns that".
35
33
For examples, see: https://www.jenkins.io/changelog/
36
34
37
-
Do not include the Jira issue in the changelog entry.
38
-
Include the Jira issue in the description of the pull request so that the changelog generator can find it and include it in the generated changelog.
35
+
Do not include the issue in the changelog entry.
36
+
Include the issue in the description of the pull request so that the changelog generator can find it and include it in the generated changelog.
39
37
40
38
You may add multiple changelog entries if applicable by adding a new entry to the list, e.g.
41
39
- First changelog entry
@@ -82,7 +80,7 @@ The changelog generator relies on the presence of the upgrade guidelines section
82
80
83
81
### Submitter checklist
84
82
85
-
-[ ] The Jira issue, if it exists, is well-described.
83
+
-[ ] The issue, if it exists, is well-described.
86
84
-[ ] The changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developers, depending on the change) and are in the imperative mood (see [examples](https://github.com/jenkins-infra/jenkins.io/blob/master/content/_data/changelogs/weekly.yml)). Fill in the **Proposed upgrade guidelines** section only if there are breaking changes or changes that may require extra steps from users during upgrade.
87
85
-[ ] There is automated testing or an explanation as to why this change has no tests.
88
86
-[ ] New public classes, fields, and methods are annotated with `@Restricted` or have `@since TODO` Javadocs, as appropriate.
@@ -108,4 +106,4 @@ Before the changes are marked as `ready-for-merge`:
108
106
-[ ] Changelog entries in the pull request title and/or **Proposed changelog entries** are accurate, human-readable, and in the imperative mood.
109
107
-[ ] Proper changelog labels are set so that the changelog can be generated automatically.
110
108
-[ ] If the change needs additional upgrade steps from users, the `upgrade-guide-needed` label is set and there is a **Proposed upgrade guidelines** section in the pull request title (see [example](https://github.com/jenkinsci/jenkins/pull/4387)).
111
-
-[ ] If it would make sense to backport the change to LTS, a Jira issue must exist, be a _Bug_ or _Improvement_, and be labeled as `lts-candidate` to be considered (see [query](https://issues.jenkins.io/issues/?filter=12146)).
109
+
-[ ] If it would make sense to backport the change to LTS, be a _Bug_ or _Improvement_, and either the issue or pull request must be labeled as `lts-candidate` to be considered.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,8 +18,8 @@ This page provides information about contributing code to the Jenkins core codeb
18
18
19
19
If you want to contribute to Jenkins, or just learn about the project,
20
20
you can start by fixing some easier issues.
21
-
In the Jenkins issue tracker we mark such issues as `newbie-friendly`.
22
-
You can find them by using this query (check the link) for [newbie friendly issues](<https://issues.jenkins.io/issues/?jql=project%20%3D%20JENKINS%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20component%20%3D%20core%20AND%20labels%20in%20(newbie-friendly)>).
21
+
In the Jenkins issue tracker we mark such issues as `good first issue`.
22
+
You can find them by using this query (check the link) for [good first issues](https://github.com/jenkinsci/jenkins/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22good%20first%20issue%22).
-[Beginners Guide To Contributing](https://www.jenkins.io/participate/)
264
-
-[List of newbie-friendly issues in the core](<https://issues.jenkins.io/issues/?jql=project%20%3D%20JENKINS%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20component%20%3D%20core%20AND%20labels%20in%20(newbie-friendly)>)
264
+
-[List of good first issues in core](<https://github.com/jenkinsci/jenkins/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22good%20first%20issue%22)
Copy file name to clipboardExpand all lines: docs/MAINTAINERS.adoc
+24-46Lines changed: 24 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ Remoting updates in the core are subject to the process though.
42
42
There are no special preconditions to do so.
43
43
Anyone is welcome to contribute.
44
44
45
-
**Issues Triage Team Members** review the incoming issues submitted in Jenkins Jira:
45
+
**Issues Triage Team Members** review the incoming issues submitted in GitHub:
46
46
bug reports, requests for enhancement, etc.
47
47
Special permissions are not required to take this role or to contribute.
48
48
Anyone is welcome to start contributing (see the <<issue-triage,triage guidelines below>>).
@@ -143,7 +143,7 @@ and we do not enforce a single code style across the codebase at the moment.
143
143
==== Building consensus
144
144
145
145
Not all changes are discussed before they are submitted as pull requests.
146
-
Developer mailing lists, Jira issues and JEPs are used for discussions,
146
+
Developer mailing lists, issues and JEPs are used for discussions,
147
147
but sometimes the changes go straight to the pull requests.
148
148
And we are fine with that, especially for small patches.
149
149
Pull requests often become a venue to discuss feasibility, underlying technical decisions and design.
@@ -322,36 +322,26 @@ Code reviews do NOT pursue the following goals:
322
322
323
323
== Issue triage
324
324
325
-
Jenkins core and most of its components use link:https://issues.jenkins.io/[Jenkins Jira] as an issue tracker.
326
-
This issue tracker is open to all Jenkins users.
327
-
They report defects and requests for enhancements,
328
-
and then component maintainers triage issues and provide feedback to users.
329
-
In the case of the Jenkins core, the *Issue Triage Team* and *Core Maintainers* are roles that are expected to process the incoming issues.
325
+
The *Issue Triage Team* and *Core Maintainers* are roles that are expected to process the incoming issues.
330
326
These contributors perform initial triage of incoming issues and periodically scrub the issue tracker.
331
327
332
328
This section provides some tips and tricks about triaging issues submitted to the Jenkins core.
333
329
334
330
=== Issue tracker structure
335
331
336
-
Jenkins core uses the link:https://issues.jenkins.io/projects/JENKINS[JENKINS] project for issue tracking.
337
-
This project is shared between the Jenkins core components and plugins,
338
-
and the Jenkins core is scattered across multiple components: `core`, `remoting`, `cli`, `winstone-jetty`, etc.
339
-
In addition to it, there is a default `_unsorted` component which is recommended by default for users
340
-
who do not know what is the root cause of an issue they experience.
341
-
342
-
Searching for all Jenkins core issues is not trivial, and we provide Jira filters for it.
332
+
Jenkins core issues are scattered across multiple repositories: link:https://github.com/jenkinsci/jenkins/issues[`jenkins`], link:https://github.com/jenkinsci/remoting/issues[`remoting`], link:https://github.com/jenkinsci/winstone/issues[`winstone`], etc.
343
333
344
334
=== How to discover untriaged issues?
345
335
346
336
* Community rating in Jenkins link:https://www.jenkins.io/changelog/[Regular (Weekly)]
347
337
and link:https://www.jenkins.io/changelog-stable/[LTS] releases.
348
338
Such ratings allow users to reference issues they experienced with new Jenkins core releases,
349
339
and it helps to discover regressions in the core causing instability or unexpected plugin failures.
It is essential to ensure that the `component` field references the right component (the Jenkins core, a plugin, etc.)
357
+
It is essential to ensure that the issue is in the right repository
368
358
so that an issue can be discovered and processed by a component maintainer.
369
-
When moving an issue, assign the issue to the `automatic` assignee so that the maintainer gets a notification.
370
-
Not all components have a default assignee, and it is perfectly fine to leave the assignee field empty.
359
+
link:https://docs.github.com/en/issues/tracking-your-work-with-issues/administering-issues/transferring-an-issue-to-another-repository[Transfer] the issue to the correct one. If you don't have access, then request a core maintainer to do so.
371
360
* **Verify the issue type**.
372
361
`Bug` should be used for bug reports.
373
362
All other issue types are considered as requests for enhancements, and there is no practical difference for the Jenkins core.
374
363
* **Verify the issue metadata**: Jenkins version, environment, labels, etc.
375
364
Such metadata is useful for further triage and issue discoverability.
376
-
There are some labels used in Jenkins Jira dashboard and filters, e.g. `jcasc-compatibility`, `java11-compatibility`, `jep-200`, etc.
365
+
There are some link:https://github.com/jenkinsci/jenkins/labels[labels] used for filtering, e.g. `jcasc-compatibility`, `ux`, etc.
377
366
Assigning such labels helps users and maintainers to discover issues and act on them.
378
367
There is no list of such "common labels" recommended for use.
379
368
Some labels can be found in similar issues or documentation linked from system log entries in the reports.
380
369
* **Move security issue** to the `SECURITY` project.
381
370
Sometimes the issue reporters do not follow the link:https://www.jenkins.io/security/#reporting-vulnerabilities[vulnerability reporting] process and report security issues in public.
382
-
If you see such issues, move them to the `SECURITY` project so that the security team takes care of their triage.
383
-
Note that the required fields are different between projects, so some manual updates might be required when moving them.
371
+
If you see such issues, request a core maintainer to delete the issue and re-report it to the `SECURITY` project so that the security team takes care of their triage.
384
372
* **Label regressions and CC stakeholders** if an issue is reported as a regression with a clear root cause,
385
373
please set a `regression` label and, if applicable, CC contributors of a change that led to the regression.
386
374
* **Resolve invalid issues and support requests**.
387
-
Sometimes Jenkins Jira is used as a support portal.
375
+
Sometimes the issue tracker is used as a support portal.
388
376
We do not want to encourage that.
389
-
Jenkins Jira is an issue tracker, and we expect reporters to investigate issues on their side to an extent that they can be reviewed by maintainers.
377
+
We expect reporters to investigate issues on their side to an extent that they can be reviewed by maintainers.
390
378
For support requests, users are expected to use the link:https://community.jenkins.io/c/using-jenkins/support/8[community forum],
link:https://www.jenkins.io/chat/[chats] and other resources (e.g. Stackoverflow).
393
381
It is fine to link users to link:https://github.com/jenkinsci/.github/blob/master/SUPPORT.md[this page].
394
382
* **Resolve duplicates**.
395
-
It is often that the same issue is already reported in the Jenkins database.
396
-
Newly reported duplicates can be just resolved with a `Duplicate` resolution and linked to the original issue.
383
+
It is often that the same issue is already reported in the Jenkins issue tracker.
384
+
Newly reported duplicates can be just closed as duplicate and linked to the original issue.
397
385
398
386
=== HOWTO: Triage by maintainers
399
387
@@ -430,19 +418,18 @@ In addition to the initial triage, it is a good practice to sometimes review pre
430
418
Sometimes issues become obsolete due to other changes in the Jenkins core (e.g. feature removal),
431
419
and such issues can be closed.
432
420
Same for detaching functionality from the Jenkins core and plugins,
433
-
issues can be reassigned to the new Jira component so that they are removed from the core backlog.
421
+
issues can be transferred to the new component so that they are removed from the core backlog.
434
422
435
423
=== Triaging requests for enhancement
436
424
437
-
Requests for enhancement (RFEs) include the `New Feature` and `Improvement` types in Jenkins Jira.
438
-
The process to triage them might be different from bug reports.
425
+
The process to triage enhancements might be different from bug reports.
439
426
because it is not always possible to say whether a request should be implemented in the Jenkins core,
440
427
an existing or a new plugin.
441
428
In the case of doubt, it is fine to just skip an issue or CC subject matter experts who could advise.
442
429
443
430
For RFEs which are not related to the Jenkins core or plugins,
444
-
it is possible to set the `plugin-proposals` component.
445
-
Note that this component is not regularly scrubbed,
431
+
it is possible to set the `plugin-proposals` label.
432
+
Note that this label is not regularly scrubbed,
446
433
and it can be considered only as a pool of ideas somebody could implement.
447
434
It is a good practice to set expectations in a comment when updating the RFE.
448
435
@@ -465,15 +452,6 @@ for pings in not actively maintained components.
465
452
* link:https://www.jenkins.io/project/conduct/[Jenkins Code of Conduct] -
466
453
when it gets ugly.
467
454
468
-
=== Resolving vs. Closing issues
469
-
470
-
Jira workflow for the `JENKINS` project has two similar states: `Resolved` and `Closed`.
471
-
Historically the issues are rarely being **closed**, and all dashboard and Jenkins processes interpret resolved issues as closed.
472
-
The main difference is that the _Resolved_ issues can be reopened by users while _Closed_ ones can be reopened by admins only.
473
-
474
-
For triage purposes, it is recommended to use the `Resolved` state if there is a chance that the issue will be reopened by the reporter or other contributor
475
-
(e.g. resolving due to inactivity, disagreement with the resolution, etc.).
476
-
477
455
== Merge process
478
456
479
457
=== Common merge process
@@ -493,7 +471,7 @@ Merge process can be initiated once a pull request matches the requirements:
This is usually the case when a data migration occurs, a feature has been removed, a significant behavior change is introduced (including when there is a way to opt-out),
495
473
or in general when we expect at least a large minority of admins to benefit from knowing about the change, e.g. to apply a new option.
496
-
* If it would make sense to backport the change to LTS, a Jira issue must exist, be a _Bug_ or _Improvement_, and be labelled as `lts-candidate` to be considered (see link:https://issues.jenkins.io/issues/?filter=12146[this Jira query]).
474
+
* If it would make sense to backport the change to LTS, then either the pull request or issue needs to be labeled as `lts-candidate` to be considered.
497
475
498
476
==== Step 2: Is it a good time to merge?
499
477
@@ -576,11 +554,11 @@ Any Jenkins contributors are welcome to participate in backporting and release c
576
554
* Backporting discussions happen through the developer mailing list.
577
555
* Backports are submitted as pull requests with the link:https://github.com/jenkinsci/jenkins/labels/into-lts[into-lts] label.
578
556
* Release candidate testing is announced on the developer mailing list.
579
-
Discovered issues should be submitted to Jenkins Jira and then referenced in the release candidate testing thread.
557
+
Discovered issues should be submitted to the issue tracker and then referenced in the release candidate testing thread.
0 commit comments