ServiceNow(paris)のNEEDITアプリケーションをgithubのパブリックからプライベートリポジトリに変更する手順


最近ServiceNow を勉強しはじめた初心者ですが、自分の備忘録( ..)φメモメモとして記載します。

尚この手順は、既にServiceNowのDeveloperサイトにLearnningコースにある「Needit」アプリケーションをgithub上でForkし自分のインスタンスにインポートした方が対象です。

このまま勉強を進める上でパブリックリポジトリのままだと、コンプライアンス上、具合が悪そうなのでプライベートリポジトリに変更する事にしました。丁度こちらの記事が参考になりそうです(いつの間にか無料アカウントでprivateのリポジトリが作成可能になっていたんですね)。、、、と、(; ・`д・´)あれれ?

「Change visibility」が無効になって押せません。どうやらgithubのfork機能を使うと、公開リポジトリをprivateに変更できない仕様の様です。そこで上記矢印にあるリンク先を見ながら対応してみました。

なお方針は以下の通りです。

操作概要

  1. (git hub側で)パブリックリポジトリをローカルにクローンします。
  2. (git hub側で)プライベートリポジトリを新規作成します。
  3. (git hub側で)ローカルのリポジトリをプライベートリポジトリにプッシュ(ミラー)します。
  4. (git hub側で)パブリックリポジトリを削除します。
  5. (ServiceNow側で)パブリックリポジトリから取得したNEEDITアプリケーションを削除します。
  6. (ServiceNow側で)プライベートリポジトリから再度、NEEDITアプリケーションを取得します。

以下、その詳細手順です。

github側の操作

1.Git Bashを起動します。

2.以下のbareモードでリポジトリをローカルへクローンします。

$ git clone --bare https://github.com/exampleuser/old-repository.git

3.github上で新しくミラー先のリポジトリをprivateで作成します。

4.以下のコマンドで上記ミラー先にリポジトリをプッシュします。

$ cd old-repository.git
$ git push --mirror https://github.com/exampleuser/new-repository.git

5.ローカルのテンポラリリポジトリは不要なので削除しておきます。

$ cd ..
$ rm -rf old-repository.git

6.パブリック側のリポジトリを削除します。まずはSettingを選択し、、、

7.下の方までスクロールし「Delete this repository」ボタンを押して削除します。
(その後の確認ダイアログでリポジトリパスの入力も求められます)

Service Now側の操作

1.studioを開きます。

2.現状(フォークしたパブリック側)のNeedItアプリケーションを選択します。

3.「File」>「Setting」を選択し「Delete」ボタンを押します。

4.確認ダイアログで「Delete」ボタンを押し、再確認ダイアログでも「delete」を入力しNEEDITアプリケーションを削除します。

5.再度、studioを開き直します。

6.「Import From Source Control」ボタンを押します。

7.上記でミラーリングしたURLを入力し、ブランチは「main」、Credentialは「ご自身のgithubアカウント」を選択します。

以上でforkしたNEEDITアプリケーションをパブリックからプライベートリポジトリに変更できました。
念のため「Switch Branch」し、ちゃんと今まで自分がコミットしたブランチが表示されるかチェックしてみてください。(私は幾つかのコースを修了したので沢山ブランチが存在しています。)

以上、自分用の備忘録( ..)φメモメモでした。