Struct ReleasesHandler

Source
pub struct ReleasesHandler<'octo, 'r> { /* private fields */ }
Expand description

Handler for GitHub’s releases API.

Created with Octocrab::repos.

Implementations§

Source§

impl<'octo, 'r> ReleasesHandler<'octo, 'r>

Source

pub fn list(&self) -> ListReleasesBuilder<'_, '_, '_>

Creates a new ListReleasesBuilder that can be configured to filter listing releases.

let page = octocrab.repos("owner", "repo")
    .releases()
    .list()
    // Optional Parameters
    .per_page(100)
    .page(5u32)
    // Send the request
    .send()
    .await?;
Source

pub fn create<'t>( &self, tag_name: &'t (impl AsRef<str> + ?Sized), ) -> CreateReleaseBuilder<'_, '_, '_, 't, '_, '_, '_>

Creates a new CreateReleaseBuilder with tag_name.

let page = octocrab.repos("owner", "repo")
    .releases()
    .create("v1.0.0")
    // Optional Parameters
    .target_commitish("main")
    .name("Version 1.0.0")
    .body("Announcing 1.0.0!")
    .draft(false)
    .prerelease(false)
    // Send the request
    .send()
    .await?;
Source

pub fn update( &self, release_id: u64, ) -> UpdateReleaseBuilder<'_, '_, '_, '_, '_, '_, '_>

Creates a new UpdateReleaseBuilder with release_id.

let release = octocrab.repos("owner", "repo")
    .releases()
    .update(1)
    // Optional Parameters
    .tag_name("v1.0.0")
    .target_commitish("main")
    .name("Version 1.0.0")
    .body("Announcing 1.0.0!")
    .draft(false)
    .prerelease(false)
    // Send the request
    .send()
    .await?;
Source

pub async fn get_asset(&self, asset_id: u64) -> Result<Asset>

👎Deprecated: use repos::ReleaseAssetsHandler::get instead

Fetches a single asset by its ID.

let asset = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .get_asset(42u64.into())
    .await?;
Source

pub async fn get_latest(&self) -> Result<Release>

Gets the latest release.

let release = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .get_latest()
    .await?;
Source

pub async fn get_by_tag(&self, tag: &str) -> Result<Release>

Gets the release using its tag.

let release = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .get_by_tag("v1.0.0")
    .await?;
Source

pub async fn get(&self, number: u64) -> Result<Release>

Gets the release using its id.

let release = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .get(3)
    .await?;
Source

pub fn generate_release_notes<'tag_name>( &self, tag_name: &'tag_name (impl AsRef<str> + ?Sized), ) -> GenerateReleaseNotesBuilder<'_, '_, '_, 'tag_name, '_, '_, '_>

Generates crate::models::repos::ReleaseNotes which describe a crate::models::repos::Release

let release_notes = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .generate_release_notes("0.1.0")
    .send()
    .await?;
Source

pub fn upload_asset<'asset_name>( &self, id: u64, asset_name: &'asset_name (impl AsRef<str> + ?Sized), body: Bytes, ) -> UploadAssetBuilder<'_, '_, '_, 'asset_name, '_>

Upload an crate::models::repos::Asset associated with a crate::models::repos::Release

use bytes::Bytes;
let file_data: Bytes = Bytes::from("some_data");
let asset = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .upload_asset(1, "my_asset.tar.gz", file_data)
    .label("My Awesome Asset")
    .send()
    .await?;
Source

pub fn assets(&self, release_id: u64) -> ListReleaseAssetsBuilder<'_, '_, '_>

Creates a new ListReleaseAssetsBuilder that can be configured to filter listing release assetss.

let page = octocrab.repos("owner", "repo")
    .releases()
    .assets(1)
    // Optional Parameters
    .per_page(100)
    .page(5u32)
    // Send the request
    .send()
    .await?;
Source

pub async fn stream_asset( &self, asset_id: u64, ) -> Result<impl Stream<Item = Result<Bytes>>>

👎Deprecated: use repos::ReleaseAssetsHandler::stream instead
Available on crate feature stream only.

Streams the binary contents of an asset.

use futures_util::StreamExt;

let mut stream = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .stream_asset(42u64.into())
    .await?;

while let Some(chunk) = stream.next().await {
    println!("{:?}", chunk);
}
Source

pub async fn delete(&self, id: u64) -> Result<()>

Delete a release using its id.

let release = octocrab::instance()
    .repos("owner", "repo")
    .releases()
    .delete(3)
    .await?;

Auto Trait Implementations§

§

impl<'octo, 'r> Freeze for ReleasesHandler<'octo, 'r>

§

impl<'octo, 'r> !RefUnwindSafe for ReleasesHandler<'octo, 'r>

§

impl<'octo, 'r> Send for ReleasesHandler<'octo, 'r>

§

impl<'octo, 'r> Sync for ReleasesHandler<'octo, 'r>

§

impl<'octo, 'r> Unpin for ReleasesHandler<'octo, 'r>

§

impl<'octo, 'r> !UnwindSafe for ReleasesHandler<'octo, 'r>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T