View as Markdown
GitHub icon

GitHub ACTION

Create or Update File Contents

Create a new file or overwrite an existing one in a repository with a single commit. Provide the repository as an owner/repo string, the file path, the raw text content (passed as-is — do not base64-encode it yourself), and a commit message. If the file already exists on the target branch it is overwritten; the required blob SHA is resolved for you automatically. Defaults to the repository's default branch unless branch is set. See the documentation
  • Action
  • Writes data
  • Destructive
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's GitHub account once, then configure and run Create or Update File Contents from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "github-create-or-update-file-contents",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    github: { authProvisionId: "apn_xxxxxxx" },
    repoFullname: "Repository",
    path: "Path",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Create or Update File Contents inputs
Property Type Description
repoFullname Repository string
The repository in owner/repo format, for example PipedreamHQ/pipedream (not case sensitive). If you pass just a repository name with no owner (e.g. my-repo), the authenticated user is assumed as the owner — convenient for "my repo" requests. Do NOT repeat the repository name as the owner (e.g. my-repo/my-repo); if you don't know the owner, pass only the name or run List Repositories to find it.
Required
path Path string
The full path of the file, e.g. docs/notes.md. If the file already exists it will be overwritten.
Required
content Content string
The raw text contents of the file (plain text, not base64). If the file already exists, the entire file is overwritten with this content.
Required
message Commit Message string
The commit message for this change.
Required
branch Branch string
The branch to commit to, e.g. main. Defaults to the repository's default branch.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
github-create-or-update-file-contents
Version
1.0.3
App
GitHub
Authentication
OAuth
Read-only
No
Destructive
Yes
Open world
Yes