# Statically

> Get files from public GitHub, GitLab and Bitbucket repositories, GitHub Gists and npm packages through Statically, a free CDN for open source. Paste the link to a file as you see it in your browser and get a saved copy for later steps to attach or upload, its text when it is a text file, and a fast public link to put on a website or in an email. No account or API key required.

App · 5 actions. Web page: https://docs.lodol.com/docs/integrations/statically

## Actions

### Get a file from a GitHub Gist

Get a file from a public GitHub Gist, the quick way people share a snippet, a note or a small data file. The file is saved for later steps, its text is handed back, and you get a fast public link to it. No account or API key required.

**Inputs**

- Gist link (`gist_link`, text, required): The Gist's address: open it on gist.github.com and copy the link from your browser's address bar.
- File name (`file_name`, text): Optional. Which file in the Gist to get, like notes.md. Leave blank for the Gist's first file.
- Save a copy (`save_copy`, true/false): Download the file and save it, so later steps can attach, upload or read it. Turn off to only check the file is there and get its public link: best for large files, which Statically sends slowly. Default: `true`.
- Save as (`filename`, text): Optional. The name to save the copy under. Leave blank to keep the file's own name.

**Outputs**

- `cdn_url` (text): The file's public Statically link, ready to put on a website or in an email.
- `content_type` (text): The kind of file, such as text/markdown or image/png.
- `document_ref` (text): Reference to the saved file, for use by a later step. Empty when Save a copy is off.
- `documents` (list): The saved file, in the shape steps that send or upload files expect. Empty when Save a copy is off.
- `filename` (text): The file's name.
- `path` (text): Where the file sits inside the repository, Gist or package.
- `repository` (text): The repository, Gist or package the file is in.
- `saved` (true/false): Whether a copy of the file was saved.
- `size_bytes` (number): Size of the saved file in bytes. Empty when Save a copy is off.
- `source` (text): Where the file came from: GitHub, GitLab, Bitbucket, GitHub Gist or npm.
- `text` (text): The file's contents as text, for text files up to 200 KB such as a README, a licence or a JSON file. Empty otherwise.
- `url` (text): Download link for the saved copy in Lodol. Empty when Save a copy is off.
- `version` (text): The branch, tag, commit or package version used.

**Example output**

```json
{
  "cdn_url": "https://cdn.statically.io/gist/schacon/1/raw/gistfile1.txt",
  "content_type": "text/plain",
  "document_ref": "doc_8192a3b4c5d6e7f88192a3b4c5d6e7f8",
  "documents": [
    {
      "content_type": "text/plain",
      "document_ref": "doc_8192a3b4c5d6e7f88192a3b4c5d6e7f8",
      "filename": "gistfile1.txt",
      "size_bytes": 179,
      "url": "/actions/core/serve-document/doc_8192a3b4c5d6e7f88192a3b4c5d6e7f8?teamId=6512a1b2c3d4e5f600000001"
    }
  ],
  "filename": "gistfile1.txt",
  "path": "gistfile1.txt",
  "repository": "schacon/1",
  "saved": true,
  "size_bytes": 179,
  "source": "GitHub Gist",
  "text": "This is gist. \nThere are many like it, but this one is mine. \nIt is my life. \nI must master it as I must master my life. \nWithout me gist is useless. \nWithout gist, I am useless.\n",
  "url": "/actions/core/serve-document/doc_8192a3b4c5d6e7f88192a3b4c5d6e7f8?teamId=6512a1b2c3d4e5f600000001",
  "version": null
}
```

### Get a file from an npm package

Get a file from a published npm package: its main script, its package.json, a stylesheet or any other file it ships. The file is saved for later steps, its text is handed back, and you get a fast public link to put in a web page. No account or API key required.

**Inputs**

- Package (`package`, text, required): The package's name, like lodash or @vue/reactivity. Its npmjs.com page works too.
- Version (`version`, text): Optional. The package version to get, like 4.17.21. Leave blank for the latest.
- File in the package (`file_path`, text): Optional. Where the file sits inside the package, like package.json or dist/jquery.min.js. Leave blank for the package's main file.
- Save a copy (`save_copy`, true/false): Download the file and save it, so later steps can attach, upload or read it. Turn off to only check the file is there and get its public link: best for large files, which Statically sends slowly. Default: `true`.
- Save as (`filename`, text): Optional. The name to save the copy under. Leave blank to keep the file's own name.

**Outputs**

- `cdn_url` (text): The file's public Statically link, ready to put on a website or in an email.
- `content_type` (text): The kind of file, such as text/markdown or image/png.
- `document_ref` (text): Reference to the saved file, for use by a later step. Empty when Save a copy is off.
- `documents` (list): The saved file, in the shape steps that send or upload files expect. Empty when Save a copy is off.
- `filename` (text): The file's name.
- `path` (text): Where the file sits inside the repository, Gist or package.
- `repository` (text): The repository, Gist or package the file is in.
- `saved` (true/false): Whether a copy of the file was saved.
- `size_bytes` (number): Size of the saved file in bytes. Empty when Save a copy is off.
- `source` (text): Where the file came from: GitHub, GitLab, Bitbucket, GitHub Gist or npm.
- `text` (text): The file's contents as text, for text files up to 200 KB such as a README, a licence or a JSON file. Empty otherwise.
- `url` (text): Download link for the saved copy in Lodol. Empty when Save a copy is off.
- `version` (text): The branch, tag, commit or package version used.

**Example output**

```json
{
  "cdn_url": "https://cdn.statically.io/npm/is-odd@3.0.1/package.json",
  "content_type": "application/json",
  "document_ref": "doc_92a3b4c5d6e7f80992a3b4c5d6e7f809",
  "documents": [
    {
      "content_type": "application/json",
      "document_ref": "doc_92a3b4c5d6e7f80992a3b4c5d6e7f809",
      "filename": "package.json",
      "size_bytes": 182,
      "url": "/actions/core/serve-document/doc_92a3b4c5d6e7f80992a3b4c5d6e7f809?teamId=6512a1b2c3d4e5f600000001"
    }
  ],
  "filename": "package.json",
  "path": "package.json",
  "repository": "is-odd",
  "saved": true,
  "size_bytes": 182,
  "source": "npm",
  "text": "{\n  \"name\": \"is-odd\",\n  \"description\": \"Returns true if the given number is odd, and is an integer that does not exceed the JavaScript MAXIMUM_SAFE_INTEGER.\",\n  \"version\": \"3.0.1\"\n}\n",
  "url": "/actions/core/serve-document/doc_92a3b4c5d6e7f80992a3b4c5d6e7f809?teamId=6512a1b2c3d4e5f600000001",
  "version": "3.0.1"
}
```

### Get a file from Bitbucket

Get any file from a public Bitbucket repository by pasting its link: a README, a licence, a data file, an image or a script. The file is saved for later steps, its text is handed back when it is a text file, and you get a fast public link to it. No account or API key required.

**Inputs**

- File link (`file_link`, text, required): The file's address: open the file on bitbucket.org and copy the link from your browser's address bar. The repository must be public.
- Branch, tag or commit (`version`, text): Optional. Leave blank to use the one in the link. Fill in a release tag such as v5.0.0, or a commit ID, to get the file as it was there instead of the latest Bitbucket version.
- Save a copy (`save_copy`, true/false): Download the file and save it, so later steps can attach, upload or read it. Turn off to only check the file is there and get its public link: best for large files, which Statically sends slowly. Default: `true`.
- Save as (`filename`, text): Optional. The name to save the copy under. Leave blank to keep the file's own name.

**Outputs**

- `cdn_url` (text): The file's public Statically link, ready to put on a website or in an email.
- `content_type` (text): The kind of file, such as text/markdown or image/png.
- `document_ref` (text): Reference to the saved file, for use by a later step. Empty when Save a copy is off.
- `documents` (list): The saved file, in the shape steps that send or upload files expect. Empty when Save a copy is off.
- `filename` (text): The file's name.
- `path` (text): Where the file sits inside the repository, Gist or package.
- `repository` (text): The repository, Gist or package the file is in.
- `saved` (true/false): Whether a copy of the file was saved.
- `size_bytes` (number): Size of the saved file in bytes. Empty when Save a copy is off.
- `source` (text): Where the file came from: GitHub, GitLab, Bitbucket, GitHub Gist or npm.
- `text` (text): The file's contents as text, for text files up to 200 KB such as a README, a licence or a JSON file. Empty otherwise.
- `url` (text): Download link for the saved copy in Lodol. Empty when Save a copy is off.
- `version` (text): The branch, tag, commit or package version used.

**Example output**

```json
{
  "cdn_url": "https://cdn.statically.io/bb/atlassian/atlassian-connect-express@master/README.md",
  "content_type": "text/markdown",
  "document_ref": "doc_708192a3b4c5d6e7708192a3b4c5d6e7",
  "documents": [
    {
      "content_type": "text/markdown",
      "document_ref": "doc_708192a3b4c5d6e7708192a3b4c5d6e7",
      "filename": "README.md",
      "size_bytes": 84,
      "url": "/actions/core/serve-document/doc_708192a3b4c5d6e7708192a3b4c5d6e7?teamId=6512a1b2c3d4e5f600000001"
    }
  ],
  "filename": "README.md",
  "path": "README.md",
  "repository": "atlassian/atlassian-connect-express",
  "saved": true,
  "size_bytes": 84,
  "source": "Bitbucket",
  "text": "# atlassian-connect-express: Node.js package for Express.js based Atlassian Add-ons\n",
  "url": "/actions/core/serve-document/doc_708192a3b4c5d6e7708192a3b4c5d6e7?teamId=6512a1b2c3d4e5f600000001",
  "version": "master"
}
```

### Get a file from GitHub

Get any file from a public GitHub repository by pasting its link: a README, a licence, a data file, an image or a script. The file is saved for later steps, its text is handed back when it is a text file, and you get a fast public link to it. No account or API key required.

**Inputs**

- File link (`file_link`, text, required): The file's address: open the file on github.com and copy the link from your browser's address bar. The repository must be public.
- Branch, tag or commit (`version`, text): Optional. Leave blank to use the one in the link. Fill in a release tag such as v5.0.0, or a commit ID, to get the file as it was there instead of the latest GitHub version.
- Save a copy (`save_copy`, true/false): Download the file and save it, so later steps can attach, upload or read it. Turn off to only check the file is there and get its public link: best for large files, which Statically sends slowly. Default: `true`.
- Save as (`filename`, text): Optional. The name to save the copy under. Leave blank to keep the file's own name.

**Outputs**

- `cdn_url` (text): The file's public Statically link, ready to put on a website or in an email.
- `content_type` (text): The kind of file, such as text/markdown or image/png.
- `document_ref` (text): Reference to the saved file, for use by a later step. Empty when Save a copy is off.
- `documents` (list): The saved file, in the shape steps that send or upload files expect. Empty when Save a copy is off.
- `filename` (text): The file's name.
- `path` (text): Where the file sits inside the repository, Gist or package.
- `repository` (text): The repository, Gist or package the file is in.
- `saved` (true/false): Whether a copy of the file was saved.
- `size_bytes` (number): Size of the saved file in bytes. Empty when Save a copy is off.
- `source` (text): Where the file came from: GitHub, GitLab, Bitbucket, GitHub Gist or npm.
- `text` (text): The file's contents as text, for text files up to 200 KB such as a README, a licence or a JSON file. Empty otherwise.
- `url` (text): Download link for the saved copy in Lodol. Empty when Save a copy is off.
- `version` (text): The branch, tag, commit or package version used.

**Example output**

```json
{
  "cdn_url": "https://cdn.statically.io/gh/octocat/Hello-World@master/README",
  "content_type": "text/plain",
  "document_ref": "doc_5e6f708192a3b4c55e6f708192a3b4c5",
  "documents": [
    {
      "content_type": "text/plain",
      "document_ref": "doc_5e6f708192a3b4c55e6f708192a3b4c5",
      "filename": "README",
      "size_bytes": 13,
      "url": "/actions/core/serve-document/doc_5e6f708192a3b4c55e6f708192a3b4c5?teamId=6512a1b2c3d4e5f600000001"
    }
  ],
  "filename": "README",
  "path": "README",
  "repository": "octocat/Hello-World",
  "saved": true,
  "size_bytes": 13,
  "source": "GitHub",
  "text": "Hello World!\n",
  "url": "/actions/core/serve-document/doc_5e6f708192a3b4c55e6f708192a3b4c5?teamId=6512a1b2c3d4e5f600000001",
  "version": "master"
}
```

### Get a file from GitLab

Get any file from a public GitLab project by pasting its link: a README, a licence, a data file, an image or a script. The file is saved for later steps, its text is handed back when it is a text file, and you get a fast public link to it. Works for projects directly under a user or group, not ones inside a subgroup. No account or API key required.

**Inputs**

- File link (`file_link`, text, required): The file's address: open the file on gitlab.com and copy the link from your browser's address bar. The repository must be public.
- Branch, tag or commit (`version`, text): Optional. Leave blank to use the one in the link. Fill in a release tag such as v5.0.0, or a commit ID, to get the file as it was there instead of the latest GitLab version.
- Save a copy (`save_copy`, true/false): Download the file and save it, so later steps can attach, upload or read it. Turn off to only check the file is there and get its public link: best for large files, which Statically sends slowly. Default: `true`.
- Save as (`filename`, text): Optional. The name to save the copy under. Leave blank to keep the file's own name.

**Outputs**

- `cdn_url` (text): The file's public Statically link, ready to put on a website or in an email.
- `content_type` (text): The kind of file, such as text/markdown or image/png.
- `document_ref` (text): Reference to the saved file, for use by a later step. Empty when Save a copy is off.
- `documents` (list): The saved file, in the shape steps that send or upload files expect. Empty when Save a copy is off.
- `filename` (text): The file's name.
- `path` (text): Where the file sits inside the repository, Gist or package.
- `repository` (text): The repository, Gist or package the file is in.
- `saved` (true/false): Whether a copy of the file was saved.
- `size_bytes` (number): Size of the saved file in bytes. Empty when Save a copy is off.
- `source` (text): Where the file came from: GitHub, GitLab, Bitbucket, GitHub Gist or npm.
- `text` (text): The file's contents as text, for text files up to 200 KB such as a README, a licence or a JSON file. Empty otherwise.
- `url` (text): Download link for the saved copy in Lodol. Empty when Save a copy is off.
- `version` (text): The branch, tag, commit or package version used.

**Example output**

```json
{
  "cdn_url": "https://cdn.statically.io/gl/gitlab-org/gitlab-foss@master/LICENSE",
  "content_type": "text/plain",
  "document_ref": "doc_6f708192a3b4c5d66f708192a3b4c5d6",
  "documents": [
    {
      "content_type": "text/plain",
      "document_ref": "doc_6f708192a3b4c5d66f708192a3b4c5d6",
      "filename": "LICENSE",
      "size_bytes": 91,
      "url": "/actions/core/serve-document/doc_6f708192a3b4c5d66f708192a3b4c5d6?teamId=6512a1b2c3d4e5f600000001"
    }
  ],
  "filename": "LICENSE",
  "path": "LICENSE",
  "repository": "gitlab-org/gitlab-foss",
  "saved": true,
  "size_bytes": 91,
  "source": "GitLab",
  "text": "Copyright (c) 2011-present GitLab Inc.\n\nPortions of this software are licensed as follows:\n",
  "url": "/actions/core/serve-document/doc_6f708192a3b4c5d66f708192a3b4c5d6?teamId=6512a1b2c3d4e5f600000001",
  "version": "master"
}
```
