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>
impl<'octo, 'r> ReleasesHandler<'octo, 'r>
Sourcepub fn list(&self) -> ListReleasesBuilder<'_, '_, '_>
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?;
Sourcepub fn create<'t>(
&self,
tag_name: &'t (impl AsRef<str> + ?Sized),
) -> CreateReleaseBuilder<'_, '_, '_, 't, '_, '_, '_>
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?;
Sourcepub fn update(
&self,
release_id: u64,
) -> UpdateReleaseBuilder<'_, '_, '_, '_, '_, '_, '_>
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?;
Sourcepub async fn get_asset(&self, asset_id: u64) -> Result<Asset>
👎Deprecated: use repos::ReleaseAssetsHandler::get instead
pub async fn get_asset(&self, asset_id: u64) -> Result<Asset>
Fetches a single asset by its ID.
let asset = octocrab::instance()
.repos("owner", "repo")
.releases()
.get_asset(42u64.into())
.await?;
Sourcepub async fn get_latest(&self) -> Result<Release>
pub async fn get_latest(&self) -> Result<Release>
Gets the latest release.
let release = octocrab::instance()
.repos("owner", "repo")
.releases()
.get_latest()
.await?;
Sourcepub async fn get_by_tag(&self, tag: &str) -> Result<Release>
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?;
Sourcepub async fn get(&self, number: u64) -> Result<Release>
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?;
Sourcepub fn generate_release_notes<'tag_name>(
&self,
tag_name: &'tag_name (impl AsRef<str> + ?Sized),
) -> GenerateReleaseNotesBuilder<'_, '_, '_, 'tag_name, '_, '_, '_>
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?;
Sourcepub fn upload_asset<'asset_name>(
&self,
id: u64,
asset_name: &'asset_name (impl AsRef<str> + ?Sized),
body: Bytes,
) -> UploadAssetBuilder<'_, '_, '_, 'asset_name, '_>
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?;
Sourcepub fn assets(&self, release_id: u64) -> ListReleaseAssetsBuilder<'_, '_, '_>
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?;
Sourcepub async fn stream_asset(
&self,
asset_id: u64,
) -> Result<impl Stream<Item = Result<Bytes>>>
👎Deprecated: use repos::ReleaseAssetsHandler::stream insteadAvailable on crate feature stream
only.
pub async fn stream_asset( &self, asset_id: u64, ) -> Result<impl Stream<Item = Result<Bytes>>>
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);
}
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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