Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-14885: [Docs] Make changes to the New Contrib Guide (Jira -> GitHub) #14889

Merged
merged 4 commits into from
Dec 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 29 additions & 47 deletions docs/source/developers/guide/communication.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,75 +52,57 @@ Where to get help 👋

For any question you may have or problems you are facing you can write to
user or development :ref:`mailing_list` or you can create an issue on
:ref:`github`.

For searching through the issues, reporting bugs and creating feature
requests or proposals you can use :ref:`jira` issue tracker.

.. _jira:

JIRA
~~~~

When to use JIRA?

- If you want to **report a bug**.
- If you want to **propose a new feature**.
- If you want to **propose a bigger change in the documentation**.

In these cases you can create a JIRA issue and connect with other
contributors in the issue comments. It is good to mention the
way you are planning to solve the issue and have one of the Arrow
developers agree with your basic proposal for fixing it. Better
to ask before you spend too much of your time on something that we
might think is not a good idea.

.. seealso::

- :ref:`create_jira`
- :ref:`creating-issues` and :ref:`bug-report-tips`

- If you want to **solve an issue that is already in JIRA**, you should
connect with other contributors in the issue comments.

JIRA is used to discuss the problem before a Pull Request is possibly made
(how to start, where to search for the solution, etc..).
:ref:`github`. Also use GitHub to search through the issues, report bugs
and create feature requests or proposals.

.. _github:

GitHub
~~~~~~

Further options of communicating are provided through GitHub where the project
Different options of communicating are provided through GitHub where the project
is hosted. What we use are GitHub Issues and Pull Requests.

When to use GitHub?
You can use GitHub issues to:

- **ask questions**,
- **report a bug**,

- If you have **a problem with building** one of the Arrow libraries, you can
create an issue on GitHub and discuss the possible solution (or write to the
user mailing list).
.. seealso::

:ref:`How to make good bug reports and feature requests <bug-reports>`

- **propose a new feature**,
- **propose a bigger change in the documentation**,
- report **a problem with building** one of the Arrow libraries and discuss
the possible solution (or write to the user mailing list).

Making an issue about things you are not sure about may feel intimidating,
but it is also useful for others and the project.

.. note::
Make sure to add which operating system and Arrow version you are using in the
issue description plus the debug information/error.
Make sure to add which operating system and Arrow version you are using
in the issue description plus the debug information/error.

If you have **a new contribution already written**, you can create a Pull
Request after creating a GitHub issue and mentioning the way you plan to
implement it. It is important to have one of the Arrow developers agree with
your basic proposal for fixing it. Better to ask before you spend too much of
your time on something that we might think is not a good idea.

- If you have **a new contribution already written**, you can create a Pull Request after
creating a JIRA ticket and mentioning the way you plan to implement it.
- GitHub is also used to discuss your work after the **Pull Request** is made.
If you want to **solve an issue that is already in GitHub**, you should
connect with other contributors in the issue comments.

.. _mailing_list:

Mailing Lists
~~~~~~~~~~~~~

You can subscribe to the **user** or **development** mailing list and browse for
previous topics or ask questions. Whereas discussion on GitHub and JIRA
only notifies people who have subscribed to that particular Pull Request or issue,
the mailing list allows you to broadcast to all users or developers. Use these when
you want to get feedback or answers from a wider audience.
previous topics or ask questions. Whereas discussion on GitHub only notifies people
who are mentioned or are collaborating on a Pull Request, the mailing list allows
you to broadcast to all users or developers. Use these when you want to get feedback
or answers from a wider audience.

There is also a **biweekly developers sync call** that anyone is welcome to join.
It is announced on the development mailing list together with the link to join.
Expand Down
23 changes: 6 additions & 17 deletions docs/source/developers/guide/documentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,26 +37,15 @@ incomplete or inaccurate, share your hard-earned knowledge
with the rest of the community.

If you didn't come across something to improve in the
documentation itself, you can search for an issue on JIRA.
documentation itself, you can search for an issue in GitHub.

.. note::
When searching for JIRA issue that deals with documentation,
try selecting **Components** from the **More** tab in JIRA search
and select **Documentation** from the list.
When searching for an issue that deals with documentation,
navigate to `GitHub labels <https://github.com/apache/arrow/labels>`_
and select **Component: Documentation** or search for **Documentation**
in the "Search all labels" window.

See `Example search. <https://issues.apache.org/jira/issues/?jql=project%20%3D%20ARROW%20AND%20status%20%3D%20Open%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20Documentation%20AND%20assignee%20in%20(EMPTY)%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC>`_

.. figure:: /developers/images/jira_search_component.jpeg
:scale: 40 %
:alt: selecting Components in JIRA search

First select Components tab in JIRA.

.. figure:: /developers/images/jira_search_documentation.jpeg
:scale: 40 %
:alt: selecting Documentation in JIRA search

Then choose Documentation from the Components list.
See `Example search. <https://github.com/apache/arrow/issues?q=is%3Aopen+is%3Aissue+label%3A%22Component%3A+Documentation%22+>`_

Documentation improvements are also a great way to gain some
experience with our submission and review process without
Expand Down
2 changes: 1 addition & 1 deletion docs/source/developers/guide/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ of adding a basic feature.

Communication is very important. You may need some help solving problems
you encounter on the way (this happens to developers all the time). Also,
if you have a JIRA issue you want to solve, then it is advisable to let the team
if you have a GitHub issue you want to solve, then it is advisable to let the team
know you are working on it and may need some help.

See possible channels of :ref:`communication`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ C++ we must create the binding manually to use it in that implementation.
As mentioned before, the underlying code is written in C++.
Python then connects to it via Cython. If you
are not familiar with it you can ask for help and remember,
**look for similar Pull Requests and JIRA issues!**
**look for similar Pull Requests and GitHub issues!**

**Adding tests**

Expand Down
97 changes: 22 additions & 75 deletions docs/source/developers/guide/step_by_step/finding_issues.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@

.. SCOPE OF THIS SECTION
.. This section should include additional information
.. about JIRA, how to find issues or how to create one.
.. about GitHub, how to find issues or how to create one.
.. Should not duplicate with Report bugs and propose features
.. section:

.. https://arrow.apache.org/docs/developers/contributing.html#tips-for-using-jira
.. https://arrow.apache.org/docs/developers/bug_reports.html#bug-reports


.. _finding-issues:
Expand All @@ -38,103 +38,50 @@ you might already have a bug to fix in mind, or a new feature that
you want to implement. Or you still need an issue to work on and
you need some help with finding one.

For both cases, JIRA is the issue tracker that we use.
For both cases, GitHub is the issue tracker that we use.

First we will explain how to use JIRA if you have a fix or a feature
to work on that doesn't yet have a JIRA ticket open, in which case you
will need to create a JIRA ticket yourself.
- If you do not have a GitHub account yet, navigate to the
`GitHub login page <https://github.com/join>`_ to create one.
- If you need help with creating a new GitHub issue see the
`GitHub documentation <https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue>`_.

Secondly, we will show you a way to find good first issues to work on.
When the ticket is created you can start a discussion about it in the GitHub comments.


Creating a JIRA account
==========================

First thing you need to do is to make an account on the ASF JIRA following
`this link <https://issues.apache.org/jira/secure/Signup!default.jspa>`_.
You will be asked to select a language and choose an avatar if you wish. If
the registration is successful you will see:

.. figure:: /developers/images/jira_new_account.jpeg
:scale: 70 %
:alt: creating an ASF JIRA account

The window you get after creating an account on the ASF JIRA.


.. _create_jira:

How to create a JIRA issue
==========================

After creating an account you can click **Create an issue** and select
**Apache Arrow project** and **Type** of the issue (Bug, Feature, …).

.. figure:: /developers/images/jira_create_issue.jpeg
:scale: 70 %
:alt: creating JIRA issue

The window to create a JIRA issue.

If you are already in JIRA dashboard click the red ``create`` button in
the top to do the same.

You are ready to create the issue! Add a title and a description following
the guidance in :ref:`creating issues <creating-issues>` and you are ready to go!

.. seealso::
:ref:`Creating issues <creating-issues>`

You don’t need any special permissions on JIRA to be able to create
or self-assign issues.
To get this role, ask on the :ref:`dev mailing list <mailing_list>`.

When the ticket is created you can start a discussion about it in the
JIRA comments section.

How we use JIRA to find an issue
================================
GitHub labels
=============

To make it easier for you to find issues that are well-suited for new
contributors, we have added labels like “good-first-issue” or “beginner”
to some JIRA tickets.
contributors, we have added a label **“good-first-issue”** to some
GitHub issues.

.. seealso::
Search for good first/second issues with labels like in the `link here
<https://issues.apache.org/jira/issues/?filter=-4&jql=project%20%3D%20ARROW%20AND%20status%20%3D%20Open%20AND%20labels%20in%20(Beginner%2C%20beginner%2C%20beginners%2C%20beginnner%2C%20beginner-friendly%2C%20good-first-issue%2C%20good-second-issue%2C%20GoodForNewContributors%2C%20newbie%2C%20easyfix%2C%20documentation)%20order%20by%20created%20DESC>`_
Search for good first issues `good-first-issue label listing
<https://github.com/apache/arrow/labels/good-first-issue>`_

The issues labeled as good first issues should take no more than two days or
a weekend to fix them. Once you dig into the code you may find that the issue
is not easy at all - this can happen as the problem could be harder than the
person who triaged the ticket expected it to be. Don't hesitate to write that
in the comments.

.. figure:: /developers/images/jira_good_first_issue.jpeg
:scale: 45 %
:alt: finding good first JIRA issue

Example of the list of good first issues.

.. note::

When you find a JIRA issue you would like to work on, please mention your
interest in the comment section of that issue; that way we will know you
are working on it.
When you find a GitHub issue you would like to work on, please mention
your interest in the comment section of that issue; that way we will know
you are working on it.

Also, do not hesitate to ask questions in the comment section of the issue.
You can get some pointers about where to start and similar issues already solved.
Also, do not hesitate to ask questions in the comment. You can get some
pointers about where to start and similar issues already solved.

**What if an issue is already asigned?**
Anything that’s not in the “In Progress” state is fair game, even if it is
“Assigned” to someone, particularly if it has not been recently updated.
When in doubt, comment on the issue asking if they mind if you try to put
together a pull request; interpret no response to mean that you’re free to
proceed.

**Ask questions**
Please do ask questions, either on the JIRA itself or on the dev mailing list,
if you have doubts about where to begin or what approach to take.
This is particularly a good idea if this is your first code contribution,
Please do ask questions, either on the GitHub issue itself or on the dev
mailing list, if you have doubts about where to begin or what approach to
take. This is particularly a good idea if this is your first code contribution,
so you can get some sense of what the core developers in this part of the
project think a good solution looks like. For best results, ask specific,
direct questions, such as:
Expand Down
9 changes: 4 additions & 5 deletions docs/source/developers/guide/step_by_step/pr_lifecycle.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ the official Arrow repository which is saved in your set up as
``upstream``.

You should have Git set up by now, have cloned the repository,
have successfully built Arrow and have a JIRA issue to work on.
have successfully built Arrow and have a GitHub issue to work on.

**Before making changes to the code, you should create a new
branch in Git.**
Expand Down Expand Up @@ -189,16 +189,15 @@ that supports quality and with it you can learn a lot.

If it still takes too long to get merged, do not hesitate to remind
maintainers in the comment section of the pull request and post
reminders on the JIRA ticket also.
reminders on the GitHub issue also.

How to get your pull request to be reviewed?
--------------------------------------------

Arrow maintainers will be notified when a pull request is created and
they will get to it as soon as possible. If days pass and it still had
not been reviewed go ahead and mention the reporter of the JIRA issue
or a developer that you communicated with via JIRA comments, mailing
list or GitHub.
not been reviewed go ahead and mention the reporter of the GitHub issue
or a developer that you communicated with via mailing list or GitHub.

To put a **mention** in GitHub insert @ in the comment and select the
username from the list.
Expand Down
Loading