Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

ClickUp (official)

  • 1
  • 2
  • 3

3.3.57 | Updated: 27 Sep 2023

Downloads:

1,239

Downloads of v 3.3.57:

1,046

Maintainer(s):

Software Author(s):

  • ClickUp

ClickUp (official) 3.3.57

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install ClickUp (official), run the following command from the command line or from PowerShell:

>

To upgrade ClickUp (official), run the following command from the command line or from PowerShell:

>

To uninstall ClickUp (official), run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade clickup-official -y --source="'INTERNAL REPO URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade clickup-official -y --source="'INTERNAL REPO URL'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install clickup-official
  win_chocolatey:
    name: clickup-official
    version: '3.3.57'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'clickup-official' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '3.3.57'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller clickup-official
{
    Name     = "clickup-official"
    Version  = "3.3.57"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'clickup-official':
  ensure   => '3.3.57',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved by moderator Windos on 04 Oct 2023.

Description

ClickUp screenshot

Summary

ClickUp is an all-in-one productivity platform designed to consolidate and streamline your workflow. With an impressive array of functionalities housed in a user-friendly interface, ClickUp serves as a comprehensive solution for task management, project planning, and team collaboration.

Features

  • Task Management: With ClickUp, manage your tasks effectively and keep track of all your projects. From simple to-do lists to complex workflows, ClickUp has got you covered.
  • Project Planning: Use Gantt charts, Kanban boards, or a simple list view to see the big picture of your projects. Easily assign tasks, set deadlines, and monitor progress.
  • Team Collaboration: ClickUp is not just a task manager, it's a platform for collaboration. Share documents, chat with team members, set up meetings, and collaborate in real time.
  • Multiple Views: Catering to individual preferences, ClickUp supports multiple views such as list, board, box, and more. Each member can choose the view they find the most comfortable to work with.
  • Integration: ClickUp offers integration with a multitude of other services like Google Drive, Dropbox, Slack, and more. This means you can centralize your work even if it's spread across different platforms.
  • Customizability: From custom statuses to custom fields, ClickUp is fully adaptable to your team's needs and your project's requirements.

Notes

The ClickUp executable that is downloaded upon package installation uses the same URL for each version. That means that when ClickUp releases a new version, it breaks the checksum since the file is different. Because the EULA does not allow for distribution, the executable cannot be included in the package. Therefore, this package will break.

The package maintainer has a monitor that detects when the ClickUp version changes, and updates are usually released in a day or two following an update. However, approval times for Chocolatey packages can vary, so you may see a checksum error on this package when an update occurs.

Workarounds:

  • Look under Version History and install the latest version with the --version VERSION_NUMBER argument.
  • Use the --ignore-checksum argument to install the latest approved version (ignore checksum not generally recommended).
  • Wait for the latest version to be approved.

update.ps1
$ErrorActionPreference = "Stop"

# Use PowerShell 7+ to run this script

# Initialize variables
$packageName = "ClickUp-Official"
$FILE_URL = 'https://desktop.clickup.com/windows'
$downloadPath = '.\ClickUp-Temp.exe'
$nuspecPath = '.\ClickUp-Official.nuspec'
$installScriptPath = '.\tools\ChocolateyInstall.ps1'

function SendAlertRaw {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [string]$Subject,

        [Parameter(Mandatory = $true)]
        [string]$Message
    )

    # Note - you might consider using ntfy.sh, it's an awesome tool
    # In this script, however, I'm using a custom service that I built
    # This function gets the URL from a secure string file and sends the alert by making a POST request to the URL

    # Get the secret URL from the secure string file using the path in the environment variable
    $CredsFile = [System.Environment]::GetEnvironmentVariable('EMAIL_NOTIFICATION_CREDS_PATH', [System.EnvironmentVariableTarget]::User)

    # Convert the secure string to a string
    $secret = Get-Content $CredsFile | ConvertTo-SecureString
    $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secret)
    $alertUrl = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)

    # Replace {SUBJECT} and {MESSAGE} in the URL
    $alertUrl = $alertUrl -replace '{SUBJECT}', $Subject
    $alertUrl = $alertUrl -replace '{MESSAGE}', $Message

    if ($alertUrl) {
        Invoke-WebRequest -Uri $alertUrl -Method Post -Body $Message -ContentType "text/plain" | Out-Null
        Write-Output "Alert sent."
    }
}

function SendAlert {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [string]$Subject,

        [Parameter(Mandatory = $true)]
        [string]$Message
    )

    # Create the HTML body for the notification
    $date = Get-Date -Format "yyyy-MM-dd hh:mm:ss tt"
    $body = "<html><body>"
    $body += "<font face='Arial'>"
    $body += "<p>$Message</p>"
    $body += "<p><strong>Time:</strong> $date</p>"
    $body += "</font>"
    $body += "</body></html>"

    # Send the alert
    SendAlertRaw -Subject $Subject -Message $body
}

try {

    # Download the file and get its ProductVersion
    # If aria2c is installed, use it to download the file
    if (Get-Command aria2c -ErrorAction SilentlyContinue) {
        aria2c --out=$downloadPath $FILE_URL
    } else {
        Invoke-WebRequest -Uri $FILE_URL -OutFile $downloadPath
    }
    $productVersion = (Get-Command $downloadPath).FileVersionInfo.ProductVersion

    # Trim the version to 3 parts if it has 4
    if ($productVersion -match '^\d+(\.\d+){3}$') {
        $productVersion = ($productVersion -split '\.')[0..2] -join '.'
    }

    # Get the current version from the nuspec
    $nuspecContent = Get-Content $nuspecPath -Raw
    $versionMatches = [regex]::Match($nuspecContent, '<version>(.*?)<\/version>')
    $nuspecVersion = $versionMatches.Groups[1].Value

    # Get the current checksum from the ps1 file
    $installScriptContent = Get-Content $installScriptPath -Raw
    $checksumMatches = [regex]::Match($installScriptContent, '\$checksum\s*=\s*"([^"]+)"')
    $currentChecksum = $checksumMatches.Groups[1].Value

    # Calculate the new checksum
    $newChecksum = (Get-FileHash -Algorithm SHA256 $downloadPath).Hash

    # Validate version strings
    if ($productVersion -match '^\d+(\.\d+){1,3}$' -and $nuspecVersion -match '^\d+(\.\d+){1,3}$') {
        # Compare versions and checksums
        if ([version]$productVersion -gt [version]$nuspecVersion -or $newChecksum -ne $currentChecksum) {
            # Update the nuspec version using regex
            $nuspecContent = $nuspecContent -replace '(<version>).*?(<\/version>)', "`${1}$productVersion`$2"
            Set-Content -Path $nuspecPath -Value $nuspecContent

            # Update the checksum in ChocolateyInstall.ps1
            $updatedInstallScriptContent = $installScriptContent -replace '(\$checksum\s*=\s*)".*"', "`$1`"$newChecksum`""
            Set-Content -Path $installScriptPath -Value $updatedInstallScriptContent

            # Write the new version to the console
            Write-Output "Updated to version $productVersion."

            # Send an alert
            SendAlert -Subject "$packageName Package Updated" -Message "$packageName has been updated to version $productVersion. It is now ready for testing."
        } else {
            Write-Output "No update needed."
        }
    } else {
        Write-Output "Invalid version format. Skipping update."

        # Send an alert
        SendAlert -Subject "$packageName Package Error" -Message "$packageName detected an invalid version format. Please check the update script and files."
    }
} catch {
    # Send an alert
    SendAlert -Subject "$packageName Package Error" -Message "$packageName had an error when checking for updates. Please check the update script and files.<br><br><strong>Error:</strong> $_"

    Write-Output "An error occurred: $_"
} finally {
    # Clean up the downloaded file
    Remove-Item -Path $downloadPath -ErrorAction SilentlyContinue
}
tools\ChocolateyBeforeModify.ps1
Get-Process ClickUp -ErrorAction SilentlyContinue | Stop-Process -ErrorAction Stop
tools\ChocolateyInstall.ps1
$ErrorActionPreference = "Stop"

# Chocolatey package parameters
$packageName = "clickup-official"
$softwareName = "ClickUp*"
$url = "https://desktop.clickup.com/windows"
$checksum = "C69304956BEB945477A49314E3E727842E91A3FB3F689D325BDEB7FBAB49F428"
$silentArgs = "/silent"
$validExitCodes = @(0)

# Package args
$packageArgs = @{
    packageName    = $packageName
    fileType       = "exe"
    url            = $url
    checksum       = $checksum
    checksumType   = "sha256"
    silentArgs     = $silentArgs
    validExitCodes = $validExitCodes
    softwareName   = $softwareName
}

# End ClickUp process
Get-Process ClickUp -ErrorAction SilentlyContinue | Stop-Process -ErrorAction Stop

# Install
Install-ChocolateyPackage @packageArgs

##################################################################################
########## Close the main ClickUp screen that pops up after installing ##########
##################################################################################

# Over a span of 10 seconds, check every second for the process. If found (and not in $env:TEMP, which may be the installer),
# attempt to close its window before a timeout occurs.

# Wait a second
Start-Sleep -Seconds 1

# Define vars
$packageName = "ClickUp"
$timeoutSeconds = 10
$counter = 0
$windowClosedSuccessfully = $false

Write-Output "Attempting to close $packageName window..."
while ($counter -lt $timeoutSeconds) {
    # Try to find the process, except the one in $env:TEMP
    $processes = Get-Process -Name $packageName -ErrorAction SilentlyContinue | Where-Object { $_.Path -ne $null -and $_.Path -notlike "$env:TEMP\*" }

    # Iterate over each process and attempt to close its window
    foreach ($process in $processes) {
        try {
            if ($process.MainWindowHandle -ne 0) {
                Write-Output "Closing $packageName window..."

                # Attempt to close the window
                $process.CloseMainWindow() | Out-Null
                Start-Sleep -Seconds 1
                $process.Refresh()

                Write-Output "$packageName window has been closed successfully."
                $windowClosedSuccessfully = $true
                break
            }
        } catch {
            Write-Warning "An error occurred trying to close the $packageName window: $_. Will try again."
        }
    }

    # If the window was closed successfully, break out of the outer loop as well
    if ($windowClosedSuccessfully) {
        break
    }

    # Wait a second before next attempt
    Start-Sleep -Seconds 1

    # Increase the counter
    $counter++
}

if (-not $windowClosedSuccessfully) {
    Write-Warning "The $packageName window could not be closed within $timeoutSeconds seconds."
}

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
ClickUp (official) 3.3.55 33 Friday, September 22, 2023 Approved
ClickUp (official) 3.3.22 160 Wednesday, August 9, 2023 Approved

This package has no dependencies.

Discussion for the ClickUp (official) Package

Ground Rules:

  • This discussion is only about ClickUp (official) and the ClickUp (official) package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or ClickUp (official), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus