内容紹介
GitHub APIを用いたワークフロー構築実践ガイド!
本書は、GitHubを使ってワークフローを構築する書籍です。8割程度の主要APIを網羅しており、それらを用いた自動デプロイのようなワークフロー構築、Android用のGitとGitHubのクライアント作成といった具体的なユースケースシナリオに基づき実装していきます。GitHub Enterpriseについての記述もあり、GitHub.comだけでなく社内でEnterpriseを使っている人にもどちらにも価値がある本です。
このような方におすすめ
・複数のプログラミング言語における経験知識がある、初級者から中級上級者・GitやGitHubを使ったことがある方・HTTPプロトコルの基礎を理解している方
目次
詳細目次
目次
監訳者まえがき
まえがき
1章 GitHub API
1.1 cURL
1.2 後続のAPIパスへの目印
1.3 JSON(JavaScript Object Notation)形式
1.3.1 コマンドラインからJSONをパースする
1.3.2 cURLのデバッグスイッチ
1.4 重要なヘッダ
1.5 ハイパーメディアAPIをたどる
1.6 認証
1.6.1 ユーザー名とパスワードによる認証
1.6.2 OAuth
1.7 ステータスコード
1.7.1 成功(200または201)
1.7.2 行儀のわるいJSON(400)
1.7.3 不適切なJSON(422)
1.7.4 作成成功(201)
1.7.5 変化なし(304)
1.7.6 GitHub APIのレート制限
1.7.7 レート制限を読み出す
1.8 レート制限を回避するための条件付きリクエスト
1.9 Webからのコンテンツアクセス
1.9.1 JSON-P
1.9.2 CORSサポート
1.9.3 レスポンスのコンテンツ形式を指定する
1.10 まとめ
2章 GistとGist API
2.1 簡単なコード共有
2.2 Gistはリポジトリである
2.2.1 GistをHTMLに埋め込む
2.2.2 Jekyll Blogに埋め込む
2.3 コマンドラインからGistを作る
2.4 完全に機能するアプリとしてのGist
2.5 Gistを表示するGist
2.5.1 Gist APIを探る
2.5.2 Octokitからハイパーメディアデータを使う
2.6 まとめ
3章 GollumによるGitHub Wiki
3.1 スメアゴルの物語
3.1.1 Wikiと結びついたリポジトリ
3.1.2 マークアップと構造
3.2 Gollumをハックする
3.3 Gollumエディタの出発点
3.4 画像をプログラムから扱う
3.5 Ruggedライブラリを使う
3.6 Reviewファイルに画像を追加する
3.7 画像ストレージの最適化
3.8 GitHubでレビューする
3.9 リビジョンのナビゲーションを改善する
3.10 カンプページ間のリンクを修正する
3.11 まとめ
4章 PythonとSearch API
4.1 Search APIの一般原則
4.1.1 認証
4.1.2 結果の形式
4.1.3 検索演算子と修飾子
4.1.4 ソート
4.2 Search APIの詳細
4.2.1 リポジトリ検索
4.2.2 コード検索
4.2.3 Issue検索
4.2.4 ユーザー検索
4.3 アプリケーション例
4.3.1 ユーザーフロー
4.4 Python
4.4.1 AGitHub
4.4.2 WxPython
4.4.3 PyInstaller
4.5 コード
4.5.1 Gitクレデンシャルヘルパー
4.5.2 ウィンドウとインターフェイス
4.5.3 GitHubログイン
4.5.4 GitHub検索
4.5.5 結果を表示する
4.6 パッケージング
4.7 まとめ
5章 .NETとCommit Status API
5.1 API
5.1.1 生のステータス
5.1.2 複合ステータス
5.1.3 ステータスの作成
5.2 アプリを書こう
5.2.1 ライブラリ
5.2.2 開発環境
5.2.3 リクエストを送る
5.2.4 OAuthフロー
5.2.5 ステータスハンドラー
5.3 まとめ
6章 RubyとJekyll
6.1 Jekyllを学んで作ってみる
6.2 Jekyllとは何か?
6.2.1 Jekyllをローカルで動かす
6.3 Jekyllブログのクイックスタート
6.3.1 YFM:YAML Front Matter
6.3.2 Jekyll Markup
6.3.3 Jekyllコマンドを使う
6.3.4 Jekyllのプライバシーレベル
6.3.5 テーマ
6.3.6 GitHubに公開する
6.3.7 独自ドメインでホストする
6.4 他のブログからインポートする
6.4.1 Wordpressからのインポート
6.4.2 その他のブログからのエクスポート
6.5 サイトをスクレイピングしてJekyllに変換する
6.5.1 Jekyllのスクレイピング戦術
6.5.2 セットアップ
6.5.3 タイトルのスクレイピング
6.5.4 対話型Rubyを使って改良する
6.5.5 テストを書いてキャッシュする
6.5.6 Jekyllポストを書く
6.5.7 Jekyllコマンドラインツール
6.5.8 Liquid Markupを使ったマスターインデックスファイル
6.5.9 本文と著者をスクレイピングする
6.5.10 Jekyllに画像を追加する
6.5.11 CSSをカスタマイズする
6.5.12 Forkでコントリビューションを促す
6.5.13 ブログをGitHubに公開する
6.6 まとめ
7章 AndroidとGit Data API
7.1 セットアップ
7.1.1 Jekyllブログの作成
7.1.2 Android開発ツール
7.2 新規プロジェクトの作成
7.2.1 Gradleビルドファイルを編集する
7.2.2 デフォルトのAndroid Main
7.3 Androidの自動テスト
7.3.1 GitHubクライアントのユニットテスト
7.3.2 AndroidのUIテスト
7.4 アプリケーションの実装
7.4.1 GitHubにログインするコード
7.4.2 GitHubと通信するコード
7.4.3 ブログコンテンツを書き込む
7.4.4 GitHubサービス
7.4.5 リポジトリとブランチのベースSHA
7.4.6 blobを作成する
7.4.7 treeを生成する
7.4.8 commitを作成する
7.4.9 masterリソースを更新する
7.4.10 テストをすべて成功させる
7.5 まとめ
8章 CoffeeScript、Hubot、Activity API
8.1 Activity API
8.2 プルリクエスト満足度向上計画
8.2.1 考慮すべきことと制限事項
8.2.2 普通のHubotの作成
8.2.3 Slackアカウントの作成
8.2.4 チャンネルの名前付け
8.2.5 Hubotのローカル実行
8.3 Herokuにインストールする
8.3.1 Herokuのセットアップ
8.4 Activity APIの概要
8.4.1 Hubot拡張を書く
8.4.2 Pull Requestのコードレビュー
8.4.3 OAuthトークンを使ってイベントに登録する
8.4.4 実際のPull Requestを発行する
8.4.5 PR通知をHTTPのPOSTリクエストとして扱う
8.5 まとめ
9章 JavaScriptとGit Data API
9.1 GitHubにコーヒーショップデータベースを作る
9.2 セットアップ
9.2.1 ホスト名のマッピング
9.2.2 サポートライブラリの追加
9.3 GitHub.jsを使ったAngularJSアプリケーション
9.3.1 アプリケーションデータ構造の可視化
9.3.2 アプリをテスト可能にする
9.3.3 テストデータ
9.3.4 CoffeeTech.js
9.4 ジオコーディングのサポート
9.4.1 都市のデータ
9.5 ログインを追加する
9.5.1 もうエラー?
9.5.2 ユーザーが報告した(する)データを表示する
9.5.3 ユーザーがコントリビュートしたデータ
9.6 Pull Requestを受け取る
9.7 まとめ
付録A GitHub Enterprise
A.1 インストール
A.2 システム管理
A.3 エンドポイント
A.4 完全なホスト名とマウントポイント
A.5 コマンドラインのクライアントツール:cURL
A.6 クライアントライブラリを使ったリクエスト例
A.6.1 Ruby
A.6.2 Java
A.6.3 JavaScript
A.6.4 Python
A.6.5 C#
A.7 マネジメントAPI
A.8 ドキュメント
付録B GitHubにおけるRuby、NodeJS、シェル
B.1 GitHubとRuby
B.1.1 Rubyのインストール
B.1.2 RubyとRVMの重要な概念
B.1.3 Rubyをインストールする際の潜在的問題
B.2 GitHubはNodeJSに夢中
B.2.1 NodeJSのインストール
B.2.2 NVM(Node Version Manager)
B.2.3 package.json
B.3 コマンドラインの基礎とシェル
B.3.1 シェルのコメント
B.3.2 コマンドに変数を与える
B.3.3 コマンドを複数行に分割する
B.3.4 出力を後続のコマンドにパイプする
B.3.5 リダイレクト
付録C GitHub Developerの紹介
C.1 API/Webhooksリファレンス
C.2 チュートリアル
C.3 ブログ
C.4 Early Accessプログラム
C.5 GraphQL API
C.6 Integrations
C.7 フォーラム
C.8 ロードマップ
C.9 最後に
索引
続きを見る