86
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KDDIアジャイル開発センター(KAG)Advent Calendar 2023

Day 1

人生初のOSSコントリビュートでポケモン界隈にちょっと貢献してきた

Last updated at Posted at 2023-11-30

はじめに

どうも、ポケモン廃人です:zap::mouse:

最近 PokeAPIという、ポケモンに関するデータを様々取得できるAPIで遊んでいたのですが、APIの返却データに不備がある事に気がつきました。

PokeAPIはOSSとして公開されているので、自分で直してしまおうということで、人生初のOSSコントリビュートをしてきました。

今回はその体験談を記します。「OSSにコントリビュートするのってこんな流れなんだ〜」くらいを感じていただければと思います。

技術的に踏み込んだ内容はありませんので、どうぞ気軽に読んでくださいませ。

PokeAPIとは

ポケモンのゲームに関するありとあらゆるデータを取得できる神APIです。
マニアックな話は避けますが、ポケモンの身長や体重、技、アイテムなど、基本的に何でも取ってこれます。
OSSとしてリポジトリ公開されており、star数は 3800超(2023/12現在)というAPIになっております。

・PokeAPI - Github

・公式ドキュメント

コントリビュート達成まで

では、自分のプルリクエストがAPI開発者にマージされるまでに体験した、一連の流れを書いていきます。

0. 不具合発見

技データのAPIを叩いていたところ、技「からをやぶる」の返却データにミスがある事に気がつきました。
調べたところ、リポジトリが公開されていることを知り、プルリクエストを出そうと考えます。

1. READMEを読む

まずはREADMEを読み、本APIの開発環境の構築方法や、プルリクエストの作成ルール等を把握しました。

2. 既存のissueを確認

プルリク送信やissueの新規作成前に、既存のissueを確認するよう、READMEに記載がありました。

Please see the issues on GitHub before you submit a pull request or raise an issue, someone else might have beat you to it.

自分が気づいた問題がすでにissueに上がっていないか確認してみたところ、少し前に同様の問題を指摘している方がおりました。
どうやら、私が見つけた技データの他にも、同じように返却ミスのある技がいくつか存在するとのこと。

issueが上がってから日が空いていたので、issueの作成者とAPIの開発者に、私の方でまとめて修正してしまって良いか尋ねました。

image.png

次の日、返信がありました。

API開発者:「頑張れ」
issue作成者:「少なくとも数日以内には直せないので、お願い」
自分(心の声):(頑張ります。)

image.png

3. リポジトリをfork

ここから開発の準備です。PokeAPIのリポジトリをforkします。

FireShot Capture 008 - PokeAPI_pokeapi_ The Pokémon API - github.com.png

GUI上でforkボタンを押し、完了。

スクリーンショット 2023-11-09 1.01.31.png

4. clone→ブランチ作成→ローカル開発

forkしたリポジトリをgit cloneし、ブランチを切って開発していきます。

まずはREADMEの説明を参考に、ローカル環境でAPIの動作検証をするための環境構築を行いました。

あとはコードを読んで修正箇所を特定し、実際に直します。
自分のプロダクトではないので、リポジトリの構造を理解するのは少し大変。

修正自体は、結局小さな変更で済みました。

5. プルリクエスト作成

ローカル環境で動作検証も終わったので、変更をpushし、プルリクエストを出します。
コミットメッセージやプルリクの文章はなるべく丁寧に書きました。

image.png

6. マージ完了

数時間後、無事マージされました。
OSSコントリビュート達成です:clap:
その後、本番環境のAPIでも正しくデータが返ってくることを確認できました。

image.png

感想

第一に、大勢の人が利用しているOSSに貢献できて嬉しい気持ちがあります。PokeAPIに少し愛着も湧きました。

一方で、修正前にリポジトリの環境構築を行ったり、リポジトリの中身(構造、ソースコード)を理解する必要があったりと、難しさも感じました。
OSS活動に慣れるとこの辺の感覚は変わってくるのかもしれませんね。

今後も機会があればOSSコントリビュートに取り組んでみようと思います。

最後に

最後まで読んでいただきありがとうございました。

ポケモンSVの追加コンテンツ配信まであと2週間。界隈も盛り上がってきましたね。
配信当日は、私もしれっと有休とって遊びます。

それではまた!

86
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
86
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?