def create(*args)
      arguments(args, required: [:user, :repo]) do
        permit VALID_TAG_PARAM_NAMES
        assert_values VALID_TAG_PARAM_VALUES
      end

      post_request("/repos/#{arguments.user}/#{arguments.repo}/git/tags", arguments.params)
    end
def create(*args)
      arguments(args, required: [:user, :repo]) do
        permit VALID_TAG_PARAM_NAMES
        assert_values VALID_TAG_PARAM_VALUES
      end

      post_request("/repos/#{arguments.user}/#{arguments.repo}/git/tags", arguments.params)
    end
Create a tag object

 Note that creating a tag object does not create the reference that
 makes a tag in Git. If you want to create an annotated tag in Git,
 you have to do this call to create the tag object, and then create
 the refs/tags/[tag] reference. If you want to create a lightweight
 tag, you simply have to create the reference -
 this call would be unnecessary.

 @param [Hash] params
 @input params [String] :tag
   The tag
 @input params [String] :message
   The tag message
 @input params [String] :object
   The SHA of the git object this is tagging
 @input params [String] :type
   The type of the object we're tagging.
   Normally this is a commit but it can also be a tree or a blob
 @input params [Hash] :tagger
   A hash with information about the individual creating the tag.

 The tagger hash contains the following keys:
 @input tagger [String] :name
   The name of the author of the tag
 @input tagger [String] :email
   The email of the author of the tag
 @input tagger [String] :date
   When this object was tagged. This is a timestamp in ISO 8601
   format: YYYY-MM-DDTHH:MM:SSZ.

 @xample
  github = Github.new
  github.git_data.tags.create 'user-name', 'repo-name',
     tag: "v0.0.1",
     message: "initial version\n",
     type: "commit",
     object: "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c",
     tagger: {
       name: "Scott Chacon",
       email: "schacon@gmail.com",
       date: "2011-06-17T14:53:3"
     }

 @api public